:root {
    --background: #08070d;
    --text: #f7f4ff;
    --muted: #aaa5b8;

    --purple: #9b5cff;
    --purple-light: #c18bff;

    --border: rgba(255, 255, 255, 0.10);

    --container: 1180px;
}


/* =========================
   GENEL
========================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--background);
    color: var(--text);

    font-family: "Inter", sans-serif;

    overflow-x: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}


/* =========================
   NAVBAR
========================= */

.site-header {
    position: fixed;

    top: 0;
    left: 0;

    width: 100%;

    z-index: 1000;

    background: rgba(8, 7, 13, 0.70);

    backdrop-filter: blur(18px);

    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}


.navbar {

    width: min(
        calc(100% - 48px),
        var(--container)
    );

    min-height: 80px;

    margin: auto;

    display: flex;

    align-items: center;

    gap: 30px;
}


/* LOGO */

.logo {

    display: flex;

    align-items: center;

    gap: 11px;

    margin-right: auto;
}


.logo-symbol {

    width: 38px;
    height: 38px;

    display: grid;

    place-items: center;

    border-radius: 11px;

    background:
        linear-gradient(
            145deg,
            rgba(155, 92, 255, 0.35),
            rgba(217, 70, 239, 0.08)
        );

    border: 1px solid rgba(255,255,255,0.15);

    font-size: 17px;

    font-weight: 800;
}


.logo-text strong {

    display: block;

    font-size: 13px;

    letter-spacing: 0.14em;
}


.logo-text small {

    display: block;

    margin-top: 3px;

    color: #777182;

    font-size: 7px;

    letter-spacing: 0.12em;
}


/* NAV LINKLER */

.nav-links {

    display: flex;

    gap: 30px;

    color: #aaa5b8;

    font-size: 13px;
}


.nav-links a {

    transition: 0.25s;
}


.nav-links a:hover {

    color: white;
}


/* NAV BUTTON */

.nav-button {

    padding: 12px 18px;

    border-radius: 999px;

    background: rgba(255,255,255,0.05);

    border: 1px solid rgba(255,255,255,0.13);

    font-size: 12px;

    font-weight: 600;

    transition: 0.25s;
}


.nav-button:hover {

    background: rgba(155,92,255,0.15);

    border-color: rgba(155,92,255,0.4);
}


.nav-button span {

    margin-left: 7px;
}


/* MOBİL MENÜ */

.menu-button {

    display: none;

    background: none;

    border: none;

    color: white;

    font-size: 25px;

    cursor: pointer;
}


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

.hero {

    width: min(
        calc(100% - 48px),
        var(--container)
    );

    min-height: 100vh;

    margin: auto;

    padding-top: 120px;

    display: grid;

    grid-template-columns:
        1.05fr
        0.95fr;

    align-items: center;

    gap: 50px;
}


/* HERO SOL */

.hero-content {

    position: relative;

    z-index: 2;
}


/* KÜÇÜK BAŞLIK */

.eyebrow {

    display: flex;

    align-items: center;

    gap: 9px;

    color: #9c96aa;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.18em;
}


.eyebrow span {

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--purple);

    box-shadow:
        0 0 10px var(--purple),
        0 0 20px var(--purple);
}


/* ANA BAŞLIK */

.hero h1 {

    margin-top: 25px;

    max-width: 800px;

    font-size: clamp(
        55px,
        7vw,
        92px
    );

    line-height: 0.95;

    letter-spacing: -0.065em;

    font-weight: 800;
}


.hero h1 span {

    display: block;

    color: var(--purple-light);
}


/* AÇIKLAMA */

.hero-content > p {

    max-width: 570px;

    margin-top: 30px;

    color: var(--muted);

    font-size: 15px;

    line-height: 1.8;
}


/* BUTONLAR */

.hero-buttons {

    display: flex;

    gap: 12px;

    margin-top: 32px;
}


.button {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 14px 20px;

    border-radius: 999px;

    font-size: 12px;

    font-weight: 600;

    transition: 0.3s;
}


.primary-button {

    background: #f5f1ff;

    color: #111018;
}


.primary-button:hover {

    transform: translateY(-2px);

    box-shadow:
        0 10px 35px rgba(155,92,255,0.25);
}


.secondary-button {

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

    background: rgba(255,255,255,0.03);
}


.secondary-button:hover {

    background: rgba(255,255,255,0.08);
}


.button span {

    margin-left: 8px;
}


/* TAGLER */

.hero-tags {

    display: flex;

    gap: 23px;

    margin-top: 55px;

    color: #5f5a68;

    font-size: 9px;

    letter-spacing: 0.18em;
}


/* =========================
   SAĞ TARAF
========================= */

.hero-visual {

    position: relative;

    min-height: 540px;

    display: grid;

    place-items: center;
}


/* KÜRE */

.tech-orb {

    width: min(38vw, 430px);

    aspect-ratio: 1;

    position: relative;

    display: grid;

    place-items: center;
}


/* KÜRENİN İÇİ */

.tech-orb::before {

    content: "";

    position: absolute;

    inset: 14%;

    border-radius: 50%;

    background:
        radial-gradient(
            circle at 32% 27%,
            #ead7ff 0%,
            #a66cff 15%,
            #4c1b85 43%,
            #110b19 70%
        );

    box-shadow:

        0 0 80px
        rgba(155,92,255,0.35),

        inset
        -35px -25px 70px
        rgba(0,0,0,0.65);
}


/* MERKEZ */

.orb-core {

    width: 24%;

    aspect-ratio: 1;

    border-radius: 50%;

    z-index: 5;

    background:
        radial-gradient(
            circle,
            white 0%,
            #d6a9ff 25%,
            #7b2cff 60%,
            transparent 72%
        );

    box-shadow:
        0 0 25px #b87aff,
        0 0 60px rgba(155,92,255,0.7);
}


/* HALKALAR */

.orb-ring {

    position: absolute;

    border-radius: 50%;

    border:
        1px solid
        rgba(194,153,255,0.38);
}


.ring-1 {

    width: 78%;
    height: 34%;

    transform: rotate(-25deg);
}


.ring-2 {

    width: 92%;
    height: 42%;

    transform: rotate(58deg);
}


.ring-3 {

    width: 67%;
    height: 95%;

    transform: rotate(25deg);

    border-color:
        rgba(217,70,239,0.25);
}


/* NOKTALAR */

.orb-dot {

    position: absolute;

    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: white;

    box-shadow:
        0 0 18px
        #c58cff;

    z-index: 6;
}


.dot-1 {

    top: 20%;
    right: 17%;
}


.dot-2 {

    bottom: 22%;
    left: 12%;
}


.dot-3 {

    top: 48%;
    left: 2%;
}


/* GÖRSEL YAZILARI */

.visual-label {

    position: absolute;

    color: #777182;

    font-size: 9px;

    letter-spacing: 0.18em;
}


.label-1 {

    top: 22%;

    right: 0;
}


.label-2 {

    bottom: 20%;

    left: 3%;
}


/* =========================
   GEÇİCİ ALT BÖLÜM
========================= */

.placeholder {

    min-height: 400px;

    display: grid;

    place-items: center;

    border-top:
        1px solid
        rgba(255,255,255,0.05);

    color: #55505e;

    font-size: 12px;
}


/* =========================
   MOBİL
========================= */

@media (max-width: 800px) {

    .nav-links,
    .nav-button {

        display: none;
    }


    .menu-button {

        display: block;
    }


    .hero {

        grid-template-columns: 1fr;

        padding-top: 130px;

        padding-bottom: 70px;
    }


    .hero-visual {

        order: -1;

        min-height: 330px;
    }


    .tech-orb {

        width: min(75vw, 350px);
    }


    .hero h1 {

        font-size:
            clamp(
                48px,
                13vw,
                75px
            );
    }


    .hero-buttons {

        flex-direction: column;
    }


    .button {

        width: 100%;
    }


    .hero-tags {

        flex-wrap: wrap;

        gap: 15px;
    }
}


@media (max-width: 500px) {

    .navbar,
    .hero {

        width:
            calc(100% - 32px);
    }


    .hero {

        padding-top: 110px;
    }


    .hero h1 {

        font-size: 48px;
    }


    .hero-visual {

        min-height: 280px;
    }


    .tech-orb {

        width: 300px;
    }
}
/* =========================================
   PREMIUM HERO ANIMATIONS
========================================= */

.site-header {
    transition:
        background 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.site-header.scrolled {
    background: rgba(8, 7, 13, 0.90);
    border-bottom-color: rgba(155, 92, 255, 0.16);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
}


/* HERO ARKA PLAN IŞIĞI */

.hero::before {
    content: "";

    position: absolute;

    width: 600px;
    height: 600px;

    left: 20%;
    top: 15%;

    background: radial-gradient(
        circle,
        rgba(155, 92, 255, 0.10),
        transparent 68%
    );

    filter: blur(20px);

    pointer-events: none;

    z-index: -1;
}


/* HERO YAZI ANİMASYONU */

.hero-content {
    animation: heroContentIn 1s ease both;
}

@keyframes heroContentIn {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* KÜRE */

.tech-orb {

    animation:
        orbFloat 7s ease-in-out infinite;

    filter:
        drop-shadow(
            0 0 40px
            rgba(155,92,255,0.10)
        );
}


@keyframes orbFloat {

    0%,
    100% {
        transform:
            translateY(0)
            rotate(0deg);
    }

    50% {
        transform:
            translateY(-14px)
            rotate(2deg);
    }

}


/* HALKALARIN HAREKETİ */

.ring-1 {

    animation:
        ringRotateOne 12s linear infinite;
}

.ring-2 {

    animation:
        ringRotateTwo 16s linear infinite reverse;
}

.ring-3 {

    animation:
        ringRotateThree 20s linear infinite;
}


@keyframes ringRotateOne {

    from {
        transform:
            rotate(-25deg)
            rotate(0deg);
    }

    to {
        transform:
            rotate(-25deg)
            rotate(360deg);
    }

}


@keyframes ringRotateTwo {

    from {
        transform:
            rotate(58deg)
            rotate(0deg);
    }

    to {
        transform:
            rotate(58deg)
            rotate(360deg);
    }

}


@keyframes ringRotateThree {

    from {
        transform:
            rotate(25deg)
            rotate(0deg);
    }

    to {
        transform:
            rotate(25deg)
            rotate(360deg);
    }

}


/* MERKEZ ENERJİ */

.orb-core {

    animation:
        corePulse 3s ease-in-out infinite;
}


@keyframes corePulse {

    0%,
    100% {

        transform: scale(1);

        box-shadow:
            0 0 25px #b87aff,
            0 0 60px rgba(155,92,255,0.7);
    }

    50% {

        transform: scale(1.12);

        box-shadow:
            0 0 35px #d0a4ff,
            0 0 90px rgba(155,92,255,0.9);
    }

}


/* NOKTALAR */

.dot-1 {

    animation:
        dotFloatOne 4s ease-in-out infinite;
}

.dot-2 {

    animation:
        dotFloatTwo 5s ease-in-out infinite;
}

.dot-3 {

    animation:
        dotFloatThree 4.5s ease-in-out infinite;
}


@keyframes dotFloatOne {

    0%,
    100% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(-10px, 12px);
    }

}


@keyframes dotFloatTwo {

    0%,
    100% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(12px, -10px);
    }

}


@keyframes dotFloatThree {

    0%,
    100% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(10px, 8px);
    }

}


/* BUTON HOVER */

.primary-button {

    position: relative;

    overflow: hidden;
}


.primary-button::before {

    content: "";

    position: absolute;

    top: 0;
    left: -120%;

    width: 80%;
    height: 100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,0.8),
            transparent
        );

    transform: skewX(-20deg);

    transition: left 0.6s ease;
}


.primary-button:hover::before {

    left: 140%;
}


/* HERO TAGLER */

.hero-tags span {

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}


.hero-tags span:hover {

    color: #b87aff;

    transform:
        translateY(-2px);
}


/* MOBİLDE ANİMASYONLARI HAFİFLET */

@media (max-width: 800px) {

    .hero::before {
        width: 400px;
        height: 400px;
    }

}
/* =========================================
   MOBILE NAVIGATION
========================================= */

@media (max-width: 800px) {

    .nav-links.mobile-active {

        display: flex;

        position: absolute;

        top: 75px;

        left: 16px;
        right: 16px;

        padding: 20px;

        flex-direction: column;

        gap: 18px;

        background:
            rgba(17, 15, 25, 0.96);

        border:
            1px solid
            rgba(255,255,255,0.10);

        border-radius: 18px;

        box-shadow:
            0 20px 60px
            rgba(0,0,0,0.35);

        backdrop-filter: blur(20px);

        animation:
            mobileMenuIn 0.25s ease both;
    }

}


@keyframes mobileMenuIn {

    from {

        opacity: 0;

        transform:
            translateY(-10px);
    }

    to {

        opacity: 1;

        transform:
            translateY(0);
    }

}
/* =========================================
   COMPANY / HERO TEKNOLOJİ
========================================= */

.company-section {

    position: relative;

    padding: 150px 0;

    background:

        radial-gradient(
            circle at 10% 50%,
            rgba(155, 92, 255, 0.08),
            transparent 30%
        ),

        linear-gradient(
            180deg,
            #08070d 0%,
            #0c0a12 50%,
            #08070d 100%
        );

    border-top:
        1px solid
        rgba(255,255,255,0.05);

}


.company-container {

    width:
        min(
            calc(100% - 48px),
            var(--container)
        );

    margin: auto;
}


/* =========================================
   SECTION HEADER
========================================= */

.company-heading {

    display: flex;

    align-items: center;

    gap: 25px;
}


.section-label {

    display: flex;

    align-items: center;

    gap: 9px;

    color: #8f899b;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.17em;

    white-space: nowrap;
}


.section-label span {

    width: 6px;

    height: 6px;

    border-radius: 50%;

    background:
        var(--purple);

    box-shadow:
        0 0 12px
        var(--purple);
}


.heading-line {

    height: 1px;

    flex: 1;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.12),
            transparent
        );
}


/* =========================================
   ANA BAŞLIK
========================================= */

.company-main {

    display: grid;

    grid-template-columns:
        1.15fr
        0.85fr;

    gap: 80px;

    padding-top: 55px;

    align-items: end;
}


.company-title h2 {

    margin: 0;

    max-width: 700px;

    font-size:
        clamp(
            48px,
            6vw,
            78px
        );

    line-height: 0.98;

    letter-spacing: -0.06em;

    font-weight: 800;
}


.company-title h2 span {

    color:
        var(--purple-light);
}


.company-description {

    padding-bottom: 5px;
}


.company-description p {

    margin-bottom: 18px;

    color:
        var(--muted);

    font-size: 14px;

    line-height: 1.8;
}


.company-description p:last-child {

    margin-bottom: 0;
}


/* =========================================
   UZMANLIK KARTLARI
========================================= */

.expertise-grid {

    display: grid;

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

    margin-top: 100px;

    border-top:
        1px solid
        rgba(255,255,255,0.10);

    border-bottom:
        1px solid
        rgba(255,255,255,0.10);
}


.expertise-item {

    position: relative;

    min-height: 290px;

    padding: 28px 25px 35px 0;

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

    transition:
        background 0.35s ease,
        padding 0.35s ease;
}


.expertise-item:not(:first-child) {

    padding-left: 25px;
}


.expertise-item:last-child {

    border-right: none;
}


.expertise-item:hover {

    background:
        linear-gradient(
            180deg,
            rgba(155,92,255,0.08),
            transparent
        );

    padding-top: 34px;
}


/* ÜST SATIR */

.expertise-top {

    display: flex;

    justify-content: space-between;

    align-items: center;
}


.expertise-number {

    color:
        #5e5868;

    font-size: 10px;

    letter-spacing: 0.15em;
}


.expertise-icon {

    width: 35px;

    height: 35px;

    display: grid;

    place-items: center;

    border-radius: 10px;

    color:
        #bd87ff;

    background:
        rgba(155,92,255,0.08);

    border:
        1px solid
        rgba(155,92,255,0.18);

    font-size: 16px;

    transition:
        transform 0.35s ease,
        background 0.35s ease;
}


.expertise-item:hover
.expertise-icon {

    transform:
        rotate(12deg)
        scale(1.08);

    background:
        rgba(155,92,255,0.16);
}


/* BAŞLIK */

.expertise-item h3 {

    margin-top: 65px;

    margin-bottom: 15px;

    font-size: 20px;

    letter-spacing: -0.03em;
}


/* AÇIKLAMA */

.expertise-item p {

    max-width: 230px;

    color:
        #777182;

    font-size: 12px;

    line-height: 1.7;
}


/* OK */

.expertise-arrow {

    position: absolute;

    bottom: 27px;

    right: 25px;

    color:
        #81778d;

    font-size: 15px;

    transition:
        transform 0.3s ease,
        color 0.3s ease;
}


.expertise-item:hover
.expertise-arrow {

    color:
        #c18bff;

    transform:
        translate(4px, -4px);
}


/* =========================================
   ALT MESAJ
========================================= */

.company-bottom {

    display: flex;

    align-items: center;

    gap: 25px;

    margin-top: 45px;
}


.company-line {

    width: 80px;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            var(--purple),
            transparent
        );
}


.company-bottom p {

    margin: 0;

    color:
        #6e6878;

    font-size: 11px;

    letter-spacing: 0.04em;
}


.company-bottom strong {

    color:
        #aaa1b5;

    font-weight: 500;
}


/* =========================================
   SCROLL ANIMATION
========================================= */

.company-section {

    opacity: 0;

    transform:
        translateY(35px);

    transition:
        opacity 0.9s ease,
        transform 0.9s ease;
}


.company-section.visible {

    opacity: 1;

    transform:
        translateY(0);
}


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

@media (max-width: 900px) {

    .company-main {

        grid-template-columns: 1fr;

        gap: 35px;
    }


    .expertise-grid {

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


    .expertise-item:nth-child(2) {

        border-right: none;
    }


    .expertise-item:nth-child(3),
    .expertise-item:nth-child(4) {

        border-top:
            1px solid
            rgba(255,255,255,0.10);
    }

}


@media (max-width: 600px) {

    .company-section {

        padding: 100px 0;
    }


    .company-container {

        width:
            calc(100% - 32px);
    }


    .company-heading {

        gap: 15px;
    }


    .company-main {

        padding-top: 40px;
    }


    .company-title h2 {

        font-size: 46px;
    }


    .expertise-grid {

        grid-template-columns: 1fr;

        margin-top: 60px;
    }


    .expertise-item,
    .expertise-item:not(:first-child) {

        min-height: 240px;

        padding:
            25px 0;

        border-right: none;

        border-bottom:
            1px solid
            rgba(255,255,255,0.10);
    }


    .expertise-item:last-child {

        border-bottom: none;
    }


    .expertise-item h3 {

        margin-top: 45px;
    }


    .company-bottom {

        align-items: flex-start;
    }


    .company-line {

        width: 45px;

        margin-top: 6px;
    }

}
/* =========================================
   BRANDS SECTION
========================================= */

.brands-section {

    position: relative;

    padding: 160px 0;

    background: #08070d;

    overflow: hidden;
}


.brands-container {

    width:
        min(
            calc(100% - 48px),
            var(--container)
        );

    margin: auto;
}


/* =========================================
   HEADER
========================================= */

.brands-header {

    display: grid;

    grid-template-columns:
        1fr
        0.7fr;

    align-items: end;

    gap: 70px;

    margin-bottom: 55px;
}


.brands-header h2 {

    margin-top: 20px;

    font-size:
        clamp(
            45px,
            5.5vw,
            72px
        );

    line-height: 0.98;

    letter-spacing: -0.06em;
}


.brands-header h2 span {

    display: block;

    color:
        var(--purple-light);
}


.brands-header > p {

    max-width: 430px;

    color:
        var(--muted);

    font-size: 13px;

    line-height: 1.8;

    margin-bottom: 5px;
}


/* =========================================
   BRAND GRID
========================================= */

.brands-grid {

    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 18px;
}


/* =========================================
   ANA KART
========================================= */

.brand-card {

    position: relative;

    min-height: 650px;

    overflow: hidden;

    border-radius: 30px;

    border:
        1px solid
        rgba(255,255,255,0.10);

    isolation: isolate;

    transition:
        transform 0.45s ease,
        border-color 0.45s ease;
}


.brand-card:hover {

    transform:
        translateY(-8px);

    border-color:
        rgba(190,140,255,0.35);
}


/* =========================================
   KART ARKA PLAN
========================================= */

.brand-card-background {

    position: absolute;

    inset: 0;

    z-index: -1;

    overflow: hidden;
}


/* =========================================
   OTEX
========================================= */

.otex-card {

    background:
        radial-gradient(
            circle at 70% 30%,
            rgba(155,92,255,0.20),
            transparent 32%
        ),

        linear-gradient(
            145deg,
            #171021,
            #0b0910
        );
}


.ai-grid {

    position: absolute;

    inset: -30%;

    background-image:

        linear-gradient(
            rgba(180,130,255,0.08) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(180,130,255,0.08) 1px,
            transparent 1px
        );

    background-size:
        45px 45px;

    transform:
        perspective(500px)
        rotateX(60deg)
        rotateZ(-10deg);

    opacity: .35;

    mask-image:
        radial-gradient(
            ellipse at center,
            black 0%,
            transparent 68%
        );

    animation:
        gridMove 14s linear infinite;
}


@keyframes gridMove {

    from {
        transform:
            perspective(500px)
            rotateX(60deg)
            rotateZ(-10deg)
            translateY(0);
    }

    to {
        transform:
            perspective(500px)
            rotateX(60deg)
            rotateZ(-10deg)
            translateY(45px);
    }

}


.ai-glow {

    position: absolute;

    width: 420px;
    height: 420px;

    top: 10%;
    right: -10%;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(175,110,255,0.22),
            transparent 68%
        );

    filter:
        blur(25px);
}


/* AI YÖRÜNGELER */

.ai-orbit {

    position: absolute;

    border-radius: 50%;

    border:
        1px solid
        rgba(190,140,255,0.22);
}


.orbit-a {

    width: 380px;
    height: 160px;

    top: 22%;
    right: -50px;

    transform:
        rotate(-25deg);
}


.orbit-b {

    width: 450px;
    height: 190px;

    top: 15%;
    right: -80px;

    transform:
        rotate(45deg);

    border-color:
        rgba(217,70,239,0.16);
}


/* AI NODE */

.ai-node {

    position: absolute;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #d7b5ff;

    box-shadow:
        0 0 15px
        rgba(190,130,255,0.9);

    animation:
        nodePulse 3s ease-in-out infinite;
}


.node-a {
    top: 28%;
    right: 25%;
}

.node-b {
    top: 45%;
    right: 13%;
    animation-delay: .8s;
}

.node-c {
    top: 18%;
    right: 42%;
    animation-delay: 1.4s;
}

.node-d {
    top: 52%;
    right: 32%;
    animation-delay: 2s;
}


@keyframes nodePulse {

    0%,
    100% {
        opacity: .45;
        transform: scale(.8);
    }

    50% {
        opacity: 1;
        transform: scale(1.5);
    }

}


/* =========================================
   GAME STUDIOS
========================================= */

.game-card {

    background:
        radial-gradient(
            circle at 30% 25%,
            rgba(217,70,239,0.16),
            transparent 30%
        ),

        radial-gradient(
            circle at 80% 75%,
            rgba(92,70,255,0.13),
            transparent 30%
        ),

        linear-gradient(
            145deg,
            #18101c,
            #0b0910
        );
}


/* OYUN GLOW */

.game-glow {

    position: absolute;

    border-radius: 50%;

    filter: blur(50px);
}


.game-glow-a {

    width: 300px;
    height: 300px;

    top: 10%;
    left: -80px;

    background:
        rgba(217,70,239,0.18);

    animation:
        gameGlowA 7s ease-in-out infinite;
}


.game-glow-b {

    width: 250px;
    height: 250px;

    right: -70px;
    bottom: 10%;

    background:
        rgba(92,70,255,0.18);

    animation:
        gameGlowB 9s ease-in-out infinite;
}


@keyframes gameGlowA {

    0%,
    100% {
        transform:
            translate(0,0);
    }

    50% {
        transform:
            translate(80px,40px);
    }

}


@keyframes gameGlowB {

    0%,
    100% {
        transform:
            translate(0,0);
    }

    50% {
        transform:
            translate(-60px,-50px);
    }

}


/* OYUN GEOMETRİLERİ */

.game-shape {

    position: absolute;

    border: 1px solid
        rgba(255,255,255,0.10);

    background:
        rgba(255,255,255,0.025);

    backdrop-filter:
        blur(5px);

    transform:
        rotate(25deg);
}


.shape-a {

    width: 180px;
    height: 180px;

    right: -40px;
    top: 16%;

    border-radius: 35px;

    animation:
        shapeFloatA 8s ease-in-out infinite;
}


.shape-b {

    width: 100px;
    height: 100px;

    right: 22%;
    top: 30%;

    border-radius: 25px;

    transform:
        rotate(45deg);

    animation:
        shapeFloatB 6s ease-in-out infinite;
}


.shape-c {

    width: 260px;
    height: 260px;

    left: -150px;
    bottom: -100px;

    border-radius: 50%;

    animation:
        shapeFloatC 10s ease-in-out infinite;
}


@keyframes shapeFloatA {

    0%,
    100% {
        transform:
            rotate(25deg)
            translateY(0);
    }

    50% {
        transform:
            rotate(35deg)
            translateY(-20px);
    }

}


@keyframes shapeFloatB {

    0%,
    100% {
        transform:
            rotate(45deg)
            translate(0,0);
    }

    50% {
        transform:
            rotate(60deg)
            translate(-15px,15px);
    }

}


@keyframes shapeFloatC {

    0%,
    100% {
        transform:
            translate(0,0);
    }

    50% {
        transform:
            translate(35px,-25px);
    }

}


/* PLUS İŞARETLERİ */

.game-cross {

    position: absolute;

    color:
        rgba(255,255,255,0.25);

    font-size: 20px;

    animation:
        crossFloat 4s ease-in-out infinite;
}


.cross-a {

    top: 22%;
    left: 25%;
}


.cross-b {

    bottom: 30%;
    right: 27%;

    animation-delay:
        1.5s;
}


@keyframes crossFloat {

    0%,
    100% {
        transform:
            translateY(0);
        opacity: .35;
    }

    50% {
        transform:
            translateY(-10px);
        opacity: .8;
    }

}


/* =========================================
   KART ÜST BİLGİ
========================================= */

.brand-card-top {

    position: absolute;

    top: 28px;

    left: 30px;
    right: 30px;

    display: flex;

    justify-content: space-between;

    align-items: center;
}


.brand-index {

    color:
        #696171;

    font-size: 9px;

    letter-spacing:
        .14em;
}


.brand-status {

    padding:
        7px 10px;

    border-radius:
        999px;

    background:
        rgba(255,255,255,0.045);

    border:
        1px solid
        rgba(255,255,255,0.08);

    color:
        #83798d;

    font-size:
        8px;

    letter-spacing:
        .13em;
}


/* =========================================
   KART İÇERİĞİ
========================================= */

.brand-card-content {

    position: absolute;

    left: 30px;
    right: 30px;

    bottom: 35px;
}


.brand-symbol {

    width: 46px;
    height: 46px;

    display: grid;

    place-items: center;

    margin-bottom: 20px;

    border-radius: 14px;

    color:
        #d0a8ff;

    background:
        rgba(155,92,255,0.10);

    border:
        1px solid
        rgba(155,92,255,0.20);

    font-size: 20px;

    box-shadow:
        0 0 30px
        rgba(155,92,255,0.10);
}


.game-symbol {

    color:
        #f0a5ff;

    background:
        rgba(217,70,239,0.08);

    border-color:
        rgba(217,70,239,0.18);
}


.brand-name {

    font-size:
        11px;

    font-weight:
        700;

    letter-spacing:
        .16em;

    color:
        #d0c9d8;
}


.brand-name span {

    color:
        #77707f;

    margin-left:
        5px;
}


.brand-card h3 {

    margin-top:
        18px;

    font-size:
        clamp(
            35px,
            3.4vw,
            52px
        );

    line-height:
        1.0;

    letter-spacing:
        -.055em;
}


.brand-card h3 em {

    font-style:
        normal;

    color:
        #b77dff;
}


.game-card h3 em {

    color:
        #e18cff;
}


.brand-card-content > p {

    max-width:
        410px;

    margin-top:
        20px;

    color:
        #8f8798;

    font-size:
        12px;

    line-height:
        1.75;
}


.brand-link {

    display:
        inline-flex;

    align-items:
        center;

    margin-top:
        22px;

    color:
        #d2b3ff;

    font-size:
        11px;

    font-weight:
        600;

    transition:
        transform .3s ease;
}


.brand-link span {

    margin-left:
        9px;
}


.brand-link:hover {

    transform:
        translateX(5px);
}


/* =========================================
   ALT BİLGİ
========================================= */

.brand-card-footer {

    position: absolute;

    left: 30px;
    right: 30px;

    bottom: 20px;

    display: flex;

    justify-content: space-between;

    color:
        rgba(255,255,255,0.20);

    font-size:
        7px;

    letter-spacing:
        .18em;
}


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

@media (max-width: 900px) {

    .brands-header {

        grid-template-columns:
            1fr;

        gap: 25px;
    }


    .brands-grid {

        grid-template-columns:
            1fr;
    }


    .brand-card {

        min-height:
            600px;
    }

}


@media (max-width: 600px) {

    .brands-section {

        padding:
            100px 0;
    }


    .brands-container {

        width:
            calc(100% - 32px);
    }


    .brands-header h2 {

        font-size:
            45px;
    }


    .brand-card {

        min-height:
            560px;

        border-radius:
            24px;
    }


    .brand-card-content {

        left:
            24px;

        right:
            24px;

        bottom:
            30px;
    }


    .brand-card-top {

        left:
            24px;

        right:
            24px;

        top:
            24px;
    }


    .brand-card-footer {

        left:
            24px;

        right:
            24px;
    }


    .brand-card h3 {

        font-size:
            36px;
    }

}
.brands-section {
    opacity: 0;
    transform: translateY(35px);
    transition:
        opacity 1s ease,
        transform 1s ease;
}

.brands-section.brands-visible {
    opacity: 1;
    transform: translateY(0);
}
/* =========================================
   PROCESS SECTION
========================================= */

.process-section {

    position: relative;

    padding: 160px 0;

    background:
        linear-gradient(
            180deg,
            #08070d 0%,
            #0b0910 100%
        );

    overflow: hidden;
}


.process-section::before {

    content: "";

    position: absolute;

    width: 600px;
    height: 600px;

    left: -300px;
    top: 30%;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(155,92,255,0.08),
            transparent 70%
        );

    filter: blur(20px);

    pointer-events: none;
}


.process-container {

    width:
        min(
            calc(100% - 48px),
            var(--container)
        );

    margin: auto;
}


/* HEADER */

.process-header {

    display: grid;

    grid-template-columns:
        1fr
        0.65fr;

    column-gap: 100px;

    align-items: end;
}


.process-header .section-label {

    grid-column:
        1 / -1;

    margin-bottom: 45px;
}


.process-header h2 {

    font-size:
        clamp(
            55px,
            7vw,
            90px
        );

    line-height: .92;

    letter-spacing:
        -.065em;
}


.process-header h2 span {

    display: block;

    color:
        var(--purple-light);
}


.process-header > p {

    max-width: 420px;

    color:
        var(--muted);

    font-size:
        13px;

    line-height:
        1.85;
}


/* PROCESS LIST */

.process-list {

    margin-top:
        90px;

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


.process-item {

    position: relative;

    display: grid;

    grid-template-columns:
        70px
        65px
        1fr
        50px;

    align-items: center;

    gap: 25px;

    min-height:
        175px;

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

    transition:
        padding .4s ease,
        background .4s ease;
}


.process-item:hover {

    padding-left:
        15px;

    background:
        linear-gradient(
            90deg,
            rgba(155,92,255,.055),
            transparent 70%
        );
}


/* NUMARA */

.process-number {

    color:
        #55505d;

    font-size:
        11px;

    letter-spacing:
        .16em;
}


/* ICON */

.process-icon {

    width:
        44px;

    height:
        44px;

    display:
        grid;

    place-items:
        center;

    border-radius:
        13px;

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

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

    color:
        #bd88ff;

    font-size:
        18px;

    transition:
        transform .4s ease,
        background .4s ease;
}


.process-item:hover
.process-icon {

    transform:
        rotate(8deg)
        scale(1.08);

    background:
        rgba(155,92,255,.12);
}


/* İÇERİK */

.process-mini {

    color:
        #686171;

    font-size:
        8px;

    letter-spacing:
        .2em;

    font-weight:
        700;
}


.process-content h3 {

    margin-top:
        10px;

    font-size:
        25px;

    letter-spacing:
        -.035em;
}


.process-content p {

    max-width:
        600px;

    margin-top:
        9px;

    color:
        #77707e;

    font-size:
        12px;

    line-height:
        1.7;
}


/* OK */

.process-arrow {

    color:
        #625b69;

    font-size:
        17px;

    transition:
        transform .3s ease,
        color .3s ease;
}


.process-item:hover
.process-arrow {

    color:
        #c18bff;

    transform:
        translate(5px,-5px);
}


/* ALT TRACK */

.process-bottom {

    display:
        flex;

    align-items:
        center;

    gap:
        20px;

    margin-top:
        35px;

    color:
        #514b58;

    font-size:
        7px;

    letter-spacing:
        .18em;
}


.process-track {

    position:
        relative;

    flex:
        1;

    height:
        1px;

    background:
        rgba(255,255,255,.08);
}


.process-track-fill {

    width:
        65%;

    height:
        100%;

    background:
        linear-gradient(
            90deg,
            var(--purple),
            transparent
        );
}


/* =========================================
   MANIFESTO
========================================= */

.manifesto-section {

    position:
        relative;

    min-height:
        620px;

    display:
        grid;

    place-items:
        center;

    overflow:
        hidden;

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

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

    background:

        radial-gradient(
            circle at center,
            rgba(155,92,255,.14),
            transparent 35%
        ),

        #08070d;
}


.manifesto-section::before {

    content:
        "";

    position:
        absolute;

    inset:
        15%;

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

    border-radius:
        50%;

    transform:
        scaleX(1.8);

    animation:
        manifestoPulse 7s ease-in-out infinite;
}


@keyframes manifestoPulse {

    0%,
    100% {
        opacity:
            .35;

        transform:
            scaleX(1.8)
            scaleY(1);
    }

    50% {
        opacity:
            .8;

        transform:
            scaleX(1.55)
            scaleY(1.08);
    }

}


.manifesto-container {

    position:
        relative;

    z-index:
        2;

    width:
        min(
            calc(100% - 48px),
            950px
        );

    text-align:
        center;
}


.manifesto-mark {

    width:
        48px;

    height:
        48px;

    display:
        grid;

    place-items:
        center;

    margin:
        0 auto 35px;

    border-radius:
        15px;

    color:
        #c18bff;

    background:
        rgba(155,92,255,.08);

    border:
        1px solid
        rgba(155,92,255,.20);

    box-shadow:
        0 0 50px
        rgba(155,92,255,.12);
}


.manifesto-text {

    font-size:
        clamp(
            42px,
            7vw,
            85px
        );

    line-height:
        .98;

    letter-spacing:
        -.065em;

    font-weight:
        800;
}


.manifesto-text span {

    display:
        block;

    color:
        var(--purple-light);
}


.manifesto-small {

    margin-top:
        30px;

    color:
        #6f6878;

    font-size:
        12px;

    letter-spacing:
        .04em;
}


/* =========================================
   CONTACT
========================================= */

.contact-section {

    position:
        relative;

    padding:
        150px 0 100px;

    background:
        #0a0810;

    overflow:
        hidden;
}


.contact-section::before {

    content:
        "";

    position:
        absolute;

    width:
        700px;

    height:
        700px;

    right:
        -300px;

    top:
        -250px;

    border-radius:
        50%;

    background:
        radial-gradient(
            circle,
            rgba(155,92,255,.12),
            transparent 70%
        );

    filter:
        blur(20px);
}


.contact-container {

    position:
        relative;

    width:
        min(
            calc(100% - 48px),
            var(--container)
        );

    margin:
        auto;
}


/* CONTACT TOP */

.contact-top {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    padding-bottom:
        30px;

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


.contact-location {

    color:
        #57515e;

    font-size:
        8px;

    letter-spacing:
        .18em;
}


/* CONTACT MAIN */

.contact-main {

    display:
        grid;

    grid-template-columns:
        1fr
        .8fr;

    gap:
        80px;

    padding:
        80px 0;
}


.contact-title h2 {

    max-width:
        700px;

    font-size:
        clamp(
            55px,
            7vw,
            92px
        );

    line-height:
        .91;

    letter-spacing:
        -.07em;
}


.contact-title h2 span {

    display:
        block;

    color:
        var(--purple-light);
}


.contact-title p {

    max-width:
        470px;

    margin-top:
        30px;

    color:
        #85808d;

    font-size:
        13px;

    line-height:
        1.8;
}


/* CONTACT ACTION */

.contact-action {

    align-self:
        end;

    padding-bottom:
        8px;
}


.contact-email-label {

    color:
        #5d5665;

    font-size:
        8px;

    letter-spacing:
        .18em;

    margin-bottom:
        14px;
}


.contact-email {

    display:
        block;

    color:
        #d8cde3;

    font-size:
        clamp(
            20px,
            2.2vw,
            28px
        );

    font-weight:
        600;

    letter-spacing:
        -.03em;

    word-break:
        break-word;

    transition:
        color .3s ease;
}


.contact-email:hover {

    color:
        #c18bff;
}


.contact-button {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        10px;

    margin-top:
        25px;

    padding:
        14px 20px;

    border-radius:
        999px;

    background:
        #f5f1ff;

    color:
        #111018;

    font-size:
        11px;

    font-weight:
        700;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


.contact-button:hover {

    transform:
        translateY(-3px);

    box-shadow:
        0 15px 45px
        rgba(155,92,255,.22);
}


/* CONTACT BOTTOM */

.contact-bottom {

    display:
        flex;

    align-items:
        center;

    gap:
        20px;

    padding-top:
        25px;

    border-top:
        1px solid
        rgba(255,255,255,.07);
}


.contact-bottom p {

    color:
        #5e5866;

    font-size:
        10px;

    letter-spacing:
        .06em;
}


.contact-decoration {

    display:
        flex;

    gap:
        4px;
}


.contact-decoration span {

    width:
        4px;

    height:
        4px;

    border-radius:
        50%;

    background:
        #6c5b7e;
}


.contact-decoration span:nth-child(2) {
    opacity: .7;
}

.contact-decoration span:nth-child(3) {
    opacity: .5;
}

.contact-decoration span:nth-child(4) {
    opacity: .3;
}

.contact-decoration span:nth-child(5) {
    opacity: .15;
}


/* =========================================
   FOOTER
========================================= */

.site-footer {

    background:
        #07060b;

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


.footer-container {

    width:
        min(
            calc(100% - 48px),
            var(--container)
        );

    min-height:
        150px;

    margin:
        auto;

    display:
        grid;

    grid-template-columns:
        1fr
        auto
        auto;

    align-items:
        center;

    gap:
        70px;
}


/* FOOTER BRAND */

.footer-brand p {

    margin-top:
        13px;

    color:
        #56505e;

    font-size:
        10px;
}


/* FOOTER LINKS */

.footer-links {

    display:
        flex;

    gap:
        25px;
}


.footer-links a {

    color:
        #706977;

    font-size:
        10px;

    transition:
        color .25s ease;
}


.footer-links a:hover {

    color:
        white;
}


/* FOOTER RIGHT */

.footer-right {

    display:
        flex;

    flex-direction:
        column;

    gap:
        7px;

    color:
        #47414e;

    font-size:
        7px;

    letter-spacing:
        .16em;

    text-align:
        right;
}


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

@media (max-width: 900px) {

    .process-header {

        grid-template-columns:
            1fr;
    }


    .process-header > p {

        margin-top:
            30px;
    }


    .process-item {

        grid-template-columns:
            50px
            55px
            1fr
            30px;

        gap:
            15px;
    }


    .contact-main {

        grid-template-columns:
            1fr;

        gap:
            50px;
    }


    .contact-action {

        padding-bottom:
            0;
    }


    .footer-container {

        grid-template-columns:
            1fr;

        gap:
            30px;

        padding:
            45px 0;
    }


    .footer-right {

        text-align:
            left;
    }

}


@media (max-width: 600px) {

    .process-section {

        padding:
            100px 0;
    }


    .process-container {

        width:
            calc(100% - 32px);
    }


    .process-header h2 {

        font-size:
            55px;
    }


    .process-list {

        margin-top:
            60px;
    }


    .process-item {

        grid-template-columns:
            35px
            45px
            1fr;

        min-height:
            190px;

        gap:
            12px;
    }


    .process-arrow {

        display:
            none;
    }


    .process-content h3 {

        font-size:
            21px;
    }


    .process-content p {

        font-size:
            11px;
    }


    .manifesto-section {

        min-height:
            500px;
    }


    .manifesto-container {

        width:
            calc(100% - 32px);
    }


    .manifesto-text {

        font-size:
            45px;
    }


    .contact-section {

        padding:
            100px 0 70px;
    }


    .contact-container {

        width:
            calc(100% - 32px);
    }


    .contact-main {

        padding:
            60px 0;
    }


    .contact-title h2 {

        font-size:
            58px;
    }


    .contact-email {

        font-size:
            20px;
    }


    .footer-container {

        width:
            calc(100% - 32px);
    }


    .footer-links {

        flex-wrap:
            wrap;
    }

}
/* =========================================
   SECTION REVEAL
========================================= */

.process-section,
.manifesto-section,
.contact-section {

    opacity:
        0;

    transform:
        translateY(35px);

    transition:
        opacity 1s ease,
        transform 1s ease;
}


.process-section.section-visible,
.manifesto-section.section-visible,
.contact-section.section-visible {

    opacity:
        1;

    transform:
        translateY(0);
}