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

body {
    font-family: monospace
}

#top {
    display: block;
    position: fixed;
    width: 100%;
    text-align: left;
    top: 0;
    padding: 40px;
    font-family: monospace;
    font-size: 19px;
    color: deeppink;
    background-color: #fff;
    z-index: 99;
    letter-spacing: 3px;
}
#top h1{font-size: 19px;letter-spacing: 3px;font-weight: 300;}


#grid {
    width: 100vw;
    height: 100vh;
    background-color: #f7fbff;
    position: fixed;
    z-index: 0;
    top: 100px;
}

#grid b {
    content: '';
    opacity: 0.1;
    background-color: black;
    width: 1px;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 10vw;
    margin-left: -5vw;
}

#grid b:nth-of-type(2) {
    left: 20vw
}

#grid b:nth-of-type(3) {
    left: 30vw
}

#grid b:nth-of-type(4) {
    left: 40vw
}

#grid b:nth-of-type(5) {
    left: 50vw
}

#grid b:nth-of-type(6) {
    left: 60vw
}

#grid b:nth-of-type(7) {
    left: 70vw
}

#grid b:nth-of-type(8) {
    left: 80vw
}

#grid b:nth-of-type(9) {
    left: 90vw
}

#grid b:nth-of-type(10) {
    left: 100vw
}

#grid i {
    content: '';
    opacity: 0.1;
    background-color: black;
    width: 100vw;
    height: 1px;
    position: absolute;
    top: 0;
    top: 10vw;
}

#grid i:nth-of-type(2) {
    top: 20vw
}

#grid i:nth-of-type(3) {
    top: 30vw
}

#grid i:nth-of-type(4) {
    top: 40vw
}

#grid i:nth-of-type(5) {
    top: 50vw
}

#grid i:nth-of-type(6) {
    top: 60vw
}

#grid i:nth-of-type(7) {
    top: 70vw
}

#grid i:nth-of-type(8) {
    top: 80vw
}

#grid i:nth-of-type(9) {
    top: 90vw
}

‚ #illus-1 {
    position: relative;
}


.wrapper-main {
    z-index: 1;
    position: relative;
    margin-top: 100px;
    overflow: hidden;
}

.poulie {
    position: absolute;
    bottom: 250px;
    right: 280px;
}

.job {
    width: 30vw;
}

.job-media {
    position: relative;
    width: 100%;
    height: 20vw;
    overflow: hidden;
    border-radius: 12px;
}

/* Image & vidéo superposées */
.job-media img,
.job-media video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.4s ease, transform 0.6s ease;
}

/* superposition image/vidéo */
.job-media img,
.job-media video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.4s ease, transform 0.6s ease;
}

.job-media video{
  opacity: 0;
  transform: scale(1);
  pointer-events: none;
}

.job:hover .job-media video{ opacity: 1; transform: scale(1.01); }
.job:hover .job-media img{ opacity: 0; }

/* couche cliquable */
.job-link{
  position: absolute;
  inset: 0;
  display: block;
  text-decoration: none;
  z-index: 3;
}

/* badge */
.job-tag{
  position: absolute;
  left: 14px;
  bottom: 14px;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 11px;
  line-height: 1;
  background: #FFEB3B;
  color: #000;
  backdrop-filter: blur(6px);
  transform: translateY(6px);
  opacity: 0;
  transition: opacity .25s ease, transform .25s ease;
}

/* le tag apparaît au hover */
.job:hover .job-tag{
  opacity: 1;
  transform: translateY(0);
}

/* style "terminée" */
.job-tag--ended{
  background: rgba(0,0,0,0.65);
  border: 1px solid rgba(255,255,255,0.35);
  color: #fff;
}

/* si data-live=false : pas de clic (assurance) */
.job[data-live="false"] .job-link{
  display: none;
}

/* optionnel : petit filtre visuel quand terminé */
.job[data-live="false"] .job-media video{
  filter: grayscale(0.2) brightness(0.85);
}
.portfolio{display: flex;margin: 10vw;gap: 5vw 10vw;flex-wrap: wrap;justify-content: center;}

.job .job-title{ padding: 10px 0; }
.job .job-title h2{  letter-spacing: 2px; margin-bottom: 5px; }
.job .job-title h3{ font-weight: normal;}


.circle_yellow{
    color: deeppink;
    position: fixed;
    z-index: 1000;
    background-color: yellow;
    border-radius: 100%;
    height: 150px;
    width: 150px;
    top: 22%;
    font-size: 17px;
    right: 6%;
    font-weight: 100;
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 1px 3px #ccc;
    transform: rotate(9deg);
        letter-spacing: 2px;
    }

    @media (max-width: 950px) {
        .job {
            width: 50vw;
        }
        .job-media { height: 30vw;}
    }

      @media (max-width: 700px) {
        .job {
                    width: 70vw;
        }
        .job-media { height: 40vw;}
    }