/* =========================
   RESET
========================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

/* =========================
   FONT
========================= */
@font-face {
    font-family: 'Momcake';
    src: url('Asset/FONT/MomcakeBold-WyonA.otf') format('opentype');
}

/* =========================
   BODY
========================= */
body {
    min-height: 100vh;
    background: #050b23;
    overflow-x: hidden;
    overflow-y: auto;

    color: white;
    position: relative;
    font-family: 'Momcake', sans-serif;
}

/* 🌌 HALO */
body::before,
body::after {
    content: "";
    position: absolute;
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(0, 132, 255, 0.18), transparent 60%);
    filter: blur(90px);
    z-index: 0;
    pointer-events: none;
}

body::before {
    top: 50%;
    left: 20%;
    transform: translate(-50%, -50%);
}

body::after {
    top: 50%;
    left: 80%;
    transform: translate(-50%, -50%);
}

/* =========================
   ✨ STARS
========================= */
.stars {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

.stars span {
    position: absolute;
    width: 2px;
    height: 2px;
    background: white;
    border-radius: 50%;
    opacity: 0.7;
    animation: twinkle 3s infinite ease-in-out;
}

@keyframes twinkle {
    0%, 100% {
        opacity: 0.2;
        transform: scale(1);
    }
    50% {
        opacity: 1;
        transform: scale(1.4);
    }
}

/* =========================
   HEADER
========================= */
.header::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    pointer-events: auto;

    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 16px 45px;

    background: rgba(8, 12, 35, 0.65);
    backdrop-filter: blur(12px);

    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.7),
        0 0 40px rgba(0, 132, 255, 0.12);

    border-bottom: 1px solid rgba(0, 162, 255, 0.08);
}
.header a {
    font-family: 'Momcake', sans-serif;
    font-size: 18px !important;
}

/* =========================
   LOGO
========================= */
.logo-circle {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;

    box-shadow:
        0 0 18px rgba(0, 162, 255, 0.35),
        0 0 40px rgba(0, 162, 255, 0.12);

    transition: 0.3s ease;
}

.logo-circle:hover {
    transform: scale(1.06);
}

.burger {
    display: none;

    width: 30px;
    height: 22px;

    position: relative;

    cursor: pointer;

    z-index: 2000;
}

.burger span {
    position: absolute;

    width: 100%;
    height: 3px;

    background: white;

    border-radius: 20px;

    transition: 0.3s ease;
}

/* POSITIONS */
.burger span:nth-child(1) {
    top: 0;
}

.burger span:nth-child(2) {
    top: 9px;
}

.burger span:nth-child(3) {
    top: 18px;
}

/* ANIMATION */
.burger.active span:nth-child(1) {
    transform: rotate(45deg);
    top: 9px;
}

.burger.active span:nth-child(2) {
    opacity: 0;
}

.burger.active span:nth-child(3) {
    transform: rotate(-45deg);
    top: 9px;
}

/* =========================
   MENU
========================= */
.right-menu ul {
    display: flex;
    align-items: center;
    gap: 35px;

    list-style: none;
}

.right-menu ul li a {
    position: relative;

    color: white;
    text-decoration: none;

    font-size: 13px;
    letter-spacing: 1px;

    display: flex;
    align-items: center;
    gap: 8px;

    transition: 0.3s ease;
}

/* Hover Glow */
.right-menu ul li a:hover {
    color: #00a2ff;
    text-shadow: 0 0 12px rgba(0, 162, 255, 0.7);
}

/* Underline Animation */
.right-menu ul li a::after {
    content: "";
    position: absolute;

    bottom: -7px;
    left: 0;

    width: 0%;
    height: 2px;

    background: #00a2ff;
    border-radius: 10px;

    box-shadow: 0 0 10px rgba(0, 162, 255, 0.8);

    transition: 0.3s ease;
}

.right-menu ul li a:hover::after {
    width: 100%;
}

/* ICON */
.right-menu ul li a i {
    font-size: 20px;
}


/* =========================
   HERO
========================= */
.about-hero{
    position:relative;
    z-index:2;

    padding:180px 8% 100px;

    display:flex;
    justify-content:center;

    text-align:center;
}

.hero-glow{
    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    width:900px;
    height:900px;

    border-radius:50%;

    background:
    radial-gradient(circle,
    rgba(0,162,255,0.12),
    transparent 70%);

    filter:blur(60px);

    z-index:-1;
}

.hero-content h1{
    font-size:42px;
    font-weight:800;

    margin-top:25px;
}

.hero-content h1 span{
    background:
    linear-gradient(
    90deg,
    #00a2ff,
    #9b3fff);

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.hero-content p{
    margin-top:25px;

    color:rgba(255,255,255,0.7);

    font-size:24px;

    line-height:1.7;
}

.hero-divider{
    width:180px;
    height:4px;

    border-radius:50px;

    margin:40px auto 0;

    background:
    linear-gradient(
    90deg,
    #00a2ff,
    #9b3fff);
}

.hero-badge,
.section-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:12px 20px;

    border-radius:50px;

    border:1px solid rgba(0,162,255,0.15);

    background:rgba(255,255,255,0.03);

    color:#00a2ff;

    font-size:14px;

    letter-spacing:1px;
}

/* =========================
   SECTIONS
========================= */
.about-section,
.portfolio-section,
.cta-section{
    position:relative;
    z-index:2;

    padding:0 8% 120px;
}

.about-card,
.portfolio-card,
.cta-card{
    background:
    linear-gradient(
    180deg,
    rgba(14,22,60,0.8),
    rgba(8,14,40,0.95));

    border:1px solid rgba(0,162,255,0.12);

    border-radius:35px;

    padding:60px;

    backdrop-filter:blur(18px);

    box-shadow:
    0 0 60px rgba(0,162,255,0.08),
    inset 0 0 30px rgba(255,255,255,0.02);
}

/* =========================
   ABOUT
========================= */
.about-company{
    display:grid;
    grid-template-columns:1fr 500px;
    gap:80px;
    align-items:center;
}

.about-left h2,
.portfolio-left h2,
.cta-left h2{
    margin-top:25px;

    font-size:32px;
    line-height:1.1;
}

.about-left h2 span,
.portfolio-left h2 span,
.cta-left h2 span{
    display:block;

    background:
    linear-gradient(
    90deg,
    #00a2ff,
    #9b3fff);

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.about-left p,
.portfolio-left p,
.cta-left p{
    margin-top:25px;

    color:rgba(255,255,255,0.72);

    line-height:2;

    font-size:19px;
}

/* FEATURES */
.about-features{
    margin-top:45px;

    display:flex;
    gap:20px;
    flex-wrap:wrap;
}

.feature-box{
    flex:1;
    min-width:170px;

    padding:28px;

    border-radius:24px;

    background:rgba(255,255,255,0.03);

    border:1px solid rgba(0,162,255,0.12);

    display:flex;
    align-items:center;
    gap:15px;

    transition:0.35s ease;
}

.feature-box:hover{
    transform:translateY(-5px);

    box-shadow:
    0 0 25px rgba(0,162,255,0.12);
}

.feature-box i{
    font-size:28px;
    color:#00a2ff;
}

.feature-box span{
    font-size:18px;
    font-weight:500;
}

/* =========================
   RIGHT SIDE
========================= */
.about-right{
    position:relative;

    display:flex;
    justify-content:center;
    align-items:center;
}

.profile-glow{
    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    width:470px;
    height:470px;

    border-radius:50%;

    background:
    radial-gradient(
    circle,
    rgba(155,63,255,0.20),
    transparent 70%);

    filter:blur(45px);

    z-index:0;
}

.profile-wrapper{
    position:relative;

    width:430px;
    height:430px;
}

.profile-img{
width: 390px;
height: 390px;

    object-fit:cover;

    border-radius:50%;

    border:2px solid rgba(255,255,255,0.08);

    box-shadow:
    0 0 35px rgba(0,162,255,0.18),
    0 0 70px rgba(155,63,255,0.12);

    position:relative;
    z-index:2;
}

/* CARD SUR PHOTO */
.company-overlay{
    position:absolute;

    bottom:-120px;
    left:50%;

    transform:translateX(-50%);

    width:92%;

    display:flex;
    align-items:center;
    gap:18px;

    padding:22px;

    border-radius:28px;

    background:
    linear-gradient(
    180deg,
    rgba(14,22,60,0.92),
    rgba(8,14,40,0.96));

    border:1px solid rgba(0,162,255,0.12);

    backdrop-filter:blur(18px);

    box-shadow:
    0 0 25px rgba(0,162,255,0.08);

    z-index:3;
}

.company-logo img{
    width:78px;
    height:78px;

    object-fit:cover;

    border-radius:50%;

    box-shadow:
    0 0 20px rgba(0,162,255,0.15);
}

.company-info h3{
    font-size:48px;
    font-weight:700;

    line-height:1;
}

.company-info p{
    margin-top:10px;

    color:rgba(255,255,255,0.68);

    line-height:1.7;

    font-size:15px;
}

/* =========================
   PORTFOLIO
========================= */
.portfolio-section{
    position:relative;
    z-index:2;

    padding:120px 8%;
}

/* CARD PRINCIPALE */
.portfolio-card{
    position:relative;

    display:grid;
    grid-template-columns: 1fr 520px;

    gap:70px;
    align-items:center;

    padding:55px;

    border-radius:34px;

    background:
    linear-gradient(
    180deg,
    rgba(14,22,60,0.78),
    rgba(8,14,40,0.96));

    border:1px solid rgba(0,162,255,0.12);

    overflow:hidden;

    backdrop-filter:blur(20px);

    box-shadow:
    0 0 60px rgba(0,162,255,0.08),
    inset 0 0 30px rgba(255,255,255,0.02);
}

/* GLOW */
.portfolio-card::before{
    content:"";

    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    width:650px;
    height:650px;

    border-radius:50%;

    background:
    radial-gradient(
    circle,
    rgba(0,162,255,0.08),
    transparent 70%);

    filter:blur(50px);

    z-index:0;
}

/* CONTENU */
.portfolio-left,
.portfolio-right{
    position:relative;
    z-index:2;
}

/* BADGE */
.section-badge{
    display:inline-flex;

    padding:10px 18px;

    border-radius:50px;

    background:rgba(255,255,255,0.03);

    border:1px solid rgba(0,162,255,0.14);

    color:#00a2ff;

    font-size:13px;
    letter-spacing:1px;

    margin-bottom:25px;
}

/* TITRE */
.portfolio-left h2{
    font-size:32px;
    line-height:1.05;
    font-weight:800;
}

.portfolio-left h2 span{
    background:
    linear-gradient(
    90deg,
    #00a2ff,
    #9b3fff);

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* TEXTE */
.portfolio-left p{
    margin-top:25px;

    color:rgba(255,255,255,0.7);

    line-height:1.9;

    font-size:18px;

    max-width:620px;
}

/* LISTE */
.portfolio-left ul{
    margin-top:30px;

    display:flex;
    flex-direction:column;
    gap:16px;

    list-style:none;
}

.portfolio-left li{
    display:flex;
    align-items:center;
    gap:12px;

    color:white;

    font-size:17px;
}

.portfolio-left li i{
    color:#00a2ff;
}

/* BOUTON */
.portfolio-btn{
    margin-top:40px;

    display:inline-flex;
    align-items:center;
    gap:14px;

    padding:18px 34px;

    border-radius:18px;

    text-decoration:none;

    color:white;

    font-weight:600;

    background:
    linear-gradient(
    90deg,
    #009dff,
    #9b3fff);

    box-shadow:
    0 0 25px rgba(0,162,255,0.35),
    0 0 45px rgba(147,51,234,0.22);

    transition:0.35s ease;
}

.portfolio-btn:hover{
    transform:translateY(-5px);

    box-shadow:
    0 0 35px rgba(0,162,255,0.45),
    0 0 70px rgba(147,51,234,0.28);
}

/* IMAGE */
.portfolio-right{
    display:flex;
    justify-content:center;
    align-items:center;
}

.portfolio-right img{
    width:100%;
    max-width:520px;

    filter:
    drop-shadow(0 0 30px rgba(0,162,255,0.12));

    animation:floatMockup 5s ease-in-out infinite;
}

/* ANIMATION */
@keyframes floatMockup{
    0%,100%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-12px);
    }
}

/* =========================
   CTA
========================= */
.cta-card{
    display:grid;
    grid-template-columns:1fr 500px;
    gap:60px;
    align-items:center;
}

.cta-right img{
    width:100%;
}

.cta-list{
    margin-top:30px;

    display:flex;
    flex-direction:column;
    gap:20px;
}

.cta-item{
    display:flex;
    align-items:center;
    gap:15px;

    color:rgba(255,255,255,0.75);
}

.cta-item i{
    width:50px;
    height:50px;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    background:rgba(255,255,255,0.04);

    border:1px solid rgba(0,162,255,0.12);

    color:#00a2ff;
}

/* =========================
   RESPONSIVE
========================= */
@media(max-width:1200px){

    .about-company,
    .portfolio-card,
    .cta-card{
        grid-template-columns:1fr;
    }

    .hero-content h1{
        font-size:80px;
    }

    .about-right{
        margin-top:60px;
    }
}

@media(max-width:700px){

    .hero-content h1{
        font-size:32px;
    }

    .about-left h2,
    .portfolio-left h2,
    .cta-left h2{
        font-size:30px;
    }

    .about-card,
    .portfolio-card,
    .cta-card{
        padding:35px;
    }

    .profile-wrapper{
        width:320px;
        height:320px;
    }

    .profile-glow{
        width:360px;
        height:360px;
    }

    .company-overlay{
        width:100%;
    }

    .portfolio-btn,
    .cta-btn{
        width:100%;
    }

    .feature-box{
        min-width:100%;
    }
}

/* =========================
   MOBILE
========================= */
/* =========================
   MOBILE MENU
========================= */
@media (max-width: 900px) {

    .burger {
        display: block;
    }

    /* MENU FULLSCREEN */
    .right-menu {
        position: fixed;

        top: 0;
        left: 0;

        width: 100%;
        height: 100vh;

        display: flex;
        justify-content: center;
        align-items: center;

        opacity: 0;
        visibility: hidden;

        transition: 0.4s ease;

        z-index: 1500;

        /* FOND TRANSPARENT */
        background: rgba(5, 10, 35, 0.35);

        backdrop-filter: blur(14px);
    }

    /* ACTIVE */
    .right-menu.active {
        opacity: 1;
        visibility: visible;
    }

    /* MENU */
    .right-menu ul {
        flex-direction: column;

        gap: 45px;

        text-align: center;
    }

    /* LIENS */
    .right-menu ul li a {
        font-size: 30px;

        color: white;

        text-transform: uppercase;

        letter-spacing: 2px;

        font-family: 'Momcake', sans-serif;

        text-shadow:
            0 0 20px rgba(0,162,255,0.25);
    }

    /* BURGER */
    .burger {
        position: relative;
        z-index: 2000;
    }
}