
/**** VARIABLES AND RESET CSS *****/

:root {
    /* Text colors */
    --color-text-brand : oklch(55.673% 0.24387 266.569);
    --color-text-main : oklch(14.958% 0.00002 271.152);
    --color-text-muted : oklch(0.45 0 0);
    --color-text-white : oklch(100% 0.00011 271.152);

    /* Background Colors */
     --color-bg-brand : oklch(55.673% 0.24387 266.569);
     --color-bg-main : oklch(100% 0.00011 271.152);
     --color-bg-surface : oklch(97.913% 0.00011 271.152);
     --header-bg: oklch(100% 0.00011 271.152 / 0.7);


    /* Accent Colors */


    /* Variables utilitaires dynamiques (Mode Clair) */
    --hover-overlay: black;
    --hover-amount: 8%;
    
  
  /* Échelle Typographique (Major Third) */
  --fs-h1: clamp(2.5rem, 5vw, 4.5rem); /* Taille fluide selon l'écran */
  --fs-h2: 2.25rem;
  --fs-body: 1.125rem;
  
  /* Espacements & Rayons */
  --space-unit: 8px;
  --radius-lg: 12px;

  /* Utilities */ 
  --max-width: 1280px;
  --transition : all 0.3s cubic-bezier(0.4, 0, 0.2, 1) 

}

/* ========== ********** Mode Sombre ********** =========== */
/* [data-theme="dark"] { */
@media (prefers-color-scheme: dark) {

    :root {

    
    /* Text colors */

--color-text-brand: oklch(62.31% 0.1881 259.83);        /* Bleu Électrique */

--color-text-main: oklch(98.415% 0.00352 248.585);    /* Blanc cassé */
--color-text-muted: oklch(71.068% 0.0352 256.828);   /* Gris pour descriptions */
--color-text-white : oklch(98.415% 0.00352 248.585); /* Blanc meme en mode sombre */

    /* Background Colors */
--color-bg-brand: oklch(62.31% 0.1881 259.83);        /* Bleu Électrique */
--color-bg-main: oklch(12.88% 0.04062 264.709);           /* Fond sombre */
--color-bg-surface: oklch(27.95% 0.03688 260.049);      /* Fond des cartes */
--color-bg-white : oklch(98.415% 0.00352 248.585);  /* Blanc meme en mode sombre */
}

}



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

body {
    font-family: 'Inter', system-ui, sans-serif;
    background-color: var(--color-bg-main);
    color: var(--color-text-main);
    line-height: 1.6;
    overflow-x: hidden;
}

/* *****  LAYOUT ******** */ 
.container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0;
}

.btn {
    cursor: pointer;
    border: none;
    text-decoration: none;
    padding: var(--space-unit);
    border-radius: var(--radius-lg);
    transition: var(--transition);

}

.btn-primary {
    background-color: var(--color-bg-brand);
    color: var(--color-text-white);

    &:hover {
        background-color: color-mix(in oklch, var(--color-bg-brand), black 8%);
    }
}

.btn-secondary {
    background-color: var(--color-bg-white);
    color: var(--color-text-brand);

    &:hover {
        background-color: color-mix(in oklch, var(--color-bg-white) , black 8%);
    }
}



/* *****   HEADER   ******* */
.header {
    position: sticky;
    top: 0;
    z-index: 10000;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: calc(var(--space-unit)) calc(2* var(--space-unit));
    background-color: var(--color-bg-main);
    backdrop-filter: blur( calc(1.5 * var(--space-unit)) ) ;
    box-shadow: 0 0 8px 4px #00000011;
}

.header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;
}

.header-logo {
    color: var(--color-text-main);
    font-size: 1.5rem;
    font-weight: 800;;
}

.header-sup {
    color: var(--color-text-brand);
}



.header-nav-desktop {
    display: contents;
    align-items: center;
    gap: 2.5rem;
}

.header-cta {
    display: flex;
    gap: 1.2em;
}

.header-nav-link {
    text-decoration: none;
    color: var(--color-text-main);
    cursor: pointer;

    &:hover {
        color: var(--color-text-brand);
    }

    &:focus-visible {
        margin: calc(0.5 * var(--space-unit));
        outline: 2px solid var(--color-text-brand);
    }
}

/* ****** HERO SECTION ****** */

.hero-section {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 2.5em;
    padding: 32px;
}

.hero-content {
    display: flex;
    flex-direction: column;
    gap: 1.5em;
    align-items: center;
    /* border: 1px solid black; */
}

.hero-badge {
    background-color: var(--color-bg-brand);
    color: var(--color-text-white);
    padding: calc( 0.7* var(--space-unit) );
    border-radius: var(--radius-lg);
}

.hero-title {
    color: var(--color-text-main);
    font-size:  clamp(1.5rem, 2.5vw, 4rem);
    text-align: center;
    text-wrap: balance;
}

.hero-title-accent {
    background: linear-gradient(to right, #3b82f6, #60a5fa );
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero-description {
    font-size: var(--fs-body);
    color: var(--color-text-muted);
    margin: 0;
    text-align: center;
    /* text-wrap: balance; */
}

.hero-btn-group {
    display: flex;
    justify-content: space-between;
    gap: 2em;
}


/* ******* Right side Image section ****** */

.hero-image {
    position: relative;
}

.hero-visual {
    width: 100%;
    height: auto;
    display: block;
    border-radius: calc( 0.75 * var(--radius-lg) );
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    transform: perspective(1000px) rotateY(-10deg) rotateX(5deg); /* Effet 3D */
    transition: var(--transition);
    animation: float 6s ease-in-out infinite; /* Animation de flottaison */
}

/* 3. Animation de flottaison (Subtile et pro) */
@keyframes float {
    0% { transform: perspective(1000px) rotateY(-10deg) rotateX(5deg) translateY(0px); }
    50% { transform: perspective(1000px) rotateY(-10deg) rotateX(5deg) translateY(-20px); }
    100% { transform: perspective(1000px) rotateY(-10deg) rotateX(5deg) translateY(0px); }
}

/* 4. Effet de lueur en arrière-plan (Glow Effect) */
.hero-image::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80%;
    height: 80%;
    background: radial-gradient(circle, var(--color-bg-brand), transparent 70%);
    transform: translate(-50%, -50%);
    filter: blur(80px);
    opacity: 0.2;
    z-index: -1;
}


