/* ----------------------------- *//*        Font Faces             *//* ----------------------------- */@font-face {    font-family: 'Bagel';    src: url("BagelFatOne-Regular.ttf") format('truetype');    font-weight: normal;    font-style: normal;}@font-face {    font-family: 'Bricolage Grotesk';    src: url("BricolageGrotesque-VariableFont_opsz,wdth,wght.ttf") format('truetype');    font-weight: 100 900;    font-style: normal;}@font-face {    font-family: 'Onest';    src: url("Onest-VariableFont_wght.ttf") format('truetype');    font-weight: 100 900;    font-style: normal;}/* ----------------------------- *//*        Variables & Reset      *//* ----------------------------- */:root {    --primary-color: #8400FF;    --secondary-color: #7F3B2D;    --white-1: #FAFAF5;    --white-2: #F2F2E6;    --white-3: #E5E5D3;    --black-1: #262622;    --black-2: #191913;    --black-3: #0D0D08;}* {    box-sizing: border-box;    margin: 0;    padding: 0;    scroll-behavior: smooth;}html {    overflow-y: scroll;}/* ----------------------------- *//*        Body & Layout          *//* ----------------------------- */body {    display: flex;    justify-content: center;    align-items: center;    overflow-x: hidden;    cursor: url('PICTURES/cursor1.png') 16 16, auto;    background-color: var(--white-2);    padding: 30px 140px 300px;}#page {    max-width: 1512px;}/* ----------------------------- *//*           Preloader           *//* ----------------------------- */#preloader {    position: fixed;    top: 0;    left: 0;    width: 100%;    height: 100vh;    background: var(--white-2);    color: var(--black-1);    display: flex;    justify-content: center;    align-items: center;    font-family: "Bagel", sans-serif;    font-size: 128px;    z-index: 9999;}/* ----------------------------- *//*          Utilitaires          *//* ----------------------------- */.spacer {    display: block;    height: 50vh;}a {    color: var(--primary-color);    text-decoration: none;    cursor: inherit;}/* ----------------------------- *//*            Boutons            *//* ----------------------------- */.button {    display: inline-flex;    height: 56px;    padding: 20px 32px;    justify-content: center;    align-items: center;    gap: 8px;    border-radius: 50px;    border: 2px solid #000;    background-color: var(--white-1);    box-shadow: 4px 6px 0 0 #000;    color: var(--black-3);    text-align: center;    font-family: "Bricolage Grotesk", sans-serif;    font-size: 16px;    font-weight: 700;    line-height: 100%;    letter-spacing: -0.32px;}/* ----------------------------- *//*          Typographie          *//* ----------------------------- */.color-change {    color: var(--primary-color);}.title {    margin-bottom: 80px;    color: var(--black-3);    text-align: center;    font-family: "Bricolage Grotesk", sans-serif;    font-size: 64px;    font-weight: 700;    line-height: 100%;}.text {    color: var(--black-1);    font-family: 'Onest', sans-serif;    font-size: 16px;    font-weight: 500;}/* ----------------------------- *//*           Navbar              *//* ----------------------------- */#navbar {    width: 100%;    max-width: 1920px;    margin-bottom: clamp(0px, 20vh, 300px);    display: flex;    justify-content: space-between;}.name {    display: flex;    align-items: center;    color: var(--primary-color);    font-family: "Bagel", sans-serif;    font-size: 36px;    font-weight: 500;    line-height: 100%;}/* ----------------------------- *//*           Header              *//* ----------------------------- */#header {    display: flex;    height: 50vh;    justify-content: space-evenly;    align-items: center;    flex-direction: column;    margin-bottom: clamp(0px, 40vh, 360px);}#header-title {    margin-bottom: 80px;    color: var(--black-3);    width: 1012px;    text-align: center;    font-family: "Bricolage Grotesk", sans-serif;    font-size: 96px;    font-weight: 700;    line-height: 100%;}#header > .button {    align-self: center; /* ou flex-start, selon le positionnement désiré */    width: auto;}/* ----------------------------- *//*      Desktop Picture          *//* ----------------------------- */#desktop-picture {    display: flex;    justify-content: center;}#desktop-picture-item {    width: 70vw;    max-width: 1650px;}#mobile-picture-item {    display: none;    width: 70vw;}/* ----------------------------- *//*       Section Présentation    *//* ----------------------------- */#presentation {    display: flex;    align-items: center;    flex-direction: column;    scroll-margin-top: 200px;    margin-bottom: clamp(0px, 40vh, 360px);}#presentation > .text {    margin-bottom: 80px;}#presentation > .button {    align-self: center; /* ou flex-start, selon le positionnement désiré */    width: auto;}/* ----------------------------- *//*        Section Compétences    *//* ----------------------------- */#competences {    margin-bottom: clamp(0px, 40vh, 360px);}/* ----------------------------- *//*             Cartes            *//* ----------------------------- */#card-container {    display: flex;    flex-wrap: wrap;    justify-content: center;    gap: 30px;}.card {    display: flex;    flex-direction: column;    align-items: center;    padding: 15px;    width: 385px;    height: 500px;    border-radius: 45px;    background: var(--white-1);    box-shadow: 12px 18px 0 0 #000;}.card-illustration {    display: flex;    justify-content: center;    width: 355px;    border-radius: 30px;    margin-bottom: 25px;}.card-title {    color: var(--black-3);    font-family: "Bricolage Grotesk", sans-serif;    font-size: 20px;    font-weight: 700;    padding-bottom: 25px;}.card-text {    color: var(--black-1);    font-family: "Onest", sans-serif;    font-size: 14px;    font-weight: 400;}/* ----------------------------- *//*      Section Réalisations     *//* ----------------------------- */#realisations {    text-align: center;    position: relative;    transform: translateZ(0);}#realisation-1,#realisation-2 {    display: flex;    justify-content: center;    align-items: center;    margin-bottom: 40px;}.realisation-picture-1,.realisation-picture-2,.realisation-picture-3,.realisation-picture-4 {    width: 20vw;    max-width: 360px;    margin: 0 25px;    display: inline-block;}#realisation-content-1,#realisation-content-2 {    opacity: 0;    position: absolute;    left: 50%;    transform: translate(-50%, -50%);}#realisation-content-1 > .text,#realisation-content-2 > .text {    width: 400px;    padding-bottom: 40px;}.realisation-title {    color: var(--black-3);    font-family: "Bricolage Grotesk", sans-serif;    font-size: 32px;    font-weight: 700;    padding-bottom: 40px;}/* ----------------------------- *//*          Media Queries        *//* ----------------------------- *//* Ordinateurs portables */@media (max-width: 1280px) {    #page {        flex-direction: column;        width: 100%;    }    #header-title {        font-size: 64px;        width: 700px;    }    .title {        font-size: 56px;    }    #card-container {        gap: 40px;    }    .card {        padding: 10px;        width: 258px;        height: 333px;        border-radius: 30px;        box-shadow: 8px 12px 0 0 #000;    }    .card-illustration {        width: 238px;        border-radius: 20px;        margin-bottom: 20px;    }    .card-title {        font-size: 14px;    }    .card-text {        font-size: 10px;    }    .realisation-picture-1,    .realisation-picture-2,    .realisation-picture-3,    .realisation-picture-4 {        width: 15vw;    }    .realisation-title {        font-size: 26px;    }    /* Ajustement de la position des contenus de réalisation */    #realisation-content-1 {        top: 35%;    }    #realisation-content-2 {        top: 78%;    }}/* Tablettes */@media (max-width: 1024px) {    #preloader {        font-size: 96px;    }    .realisation-title {        font-size: 26px;    }    .button {        height: 48px;        padding: 12px 16px;        border-radius: 42px;        box-shadow: 3px 4px 0 0 #000;        font-size: 14px;    }    .text {        font-size: 14px;    }    #realisation-content-1 > .text,    #realisation-content-2 > .text {        width: 300px;    }    .spacer {        height: 35vh;    }}/* Mobiles et petits écrans */@media (max-width: 700px) {    #realisations {        display: none;    }    #preloader {        font-size: 64px;    }    body {        padding: 20px;    }    .button {        height: 36px;        padding: 12px 16px;        border-radius: 30px;        gap: 6px;        box-shadow: 2px 3px 0 0 #000;        font-size: 12px;    }    .name {        font-size: 26px;    }    #navbar {        margin-bottom: 15vh;    }    #header {        margin-bottom: 20vh;    }    #header-title {        font-size: 42px;        width: 100%;    }    .title {        width: 100%;        font-size: 36px;        margin-bottom: 5vh;    }    .text {        font-size: 10px;    }    #desktop-picture-item {        display: none;    }    #mobile-picture-item {        display: block;    }    .spacer {        height: 40vh;    }    #presentation {        margin-bottom: 20vh;    }    #competences {        margin-bottom: 5vh;    }}