
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            --wine: #B3204A;
            --electric: #007BFF;
            --pink: #FFCFED;
            --fuchsia: #FF97FD;
            --olive: #92993C;
            --neon: #D5ED70;
            --baby-blue: #C2D6F2;
            --sand: #FFFFF0;
        }

        html {
            scroll-behavior: smooth;
            overflow-x: hidden;
            max-width: 100%;
        }

        body {
            font-family: 'Montserrat', sans-serif;
            background: #FFFFF0;
            color: var(--wine);
            overflow-x: hidden;
            cursor: none;
            max-width: 100vw;
        }

        /* Custom Cursor */
        .cursor {
            width: 10px;
            height: 10px;
            background: var(--wine);
            border-radius: 50%;
            position: fixed;
            pointer-events: none;
            z-index: 10000;
            transition: all 0.05s ease;
            mix-blend-mode: normal;
        }

        .cursor-follower {
            width: 40px;
            height: 40px;
            border: 1px solid var(--wine);
            border-radius: 50%;
            position: fixed;
            pointer-events: none;
            z-index: 9999;
            transition: all 0.15s ease;
            mix-blend-mode: hard-light;
        }

        /* Navigation */
        nav {
            position: fixed;
            top: 0;
            width: 100%;
            z-index: 1000;
            
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: rgba(255, 253, 245, 0.95);
            backdrop-filter: blur(20px);
            transition: all 0.4s ease;
            border-bottom: 1px solid rgba(136, 0, 48, 0.1);
        }

        nav.scrolled {
            
            background: rgba(136, 0, 48, 0.95);

            a{
                color: #ffffff;
            }
        }

        nav.scrolled .logo {
            color: var(--sand);
        }

        nav.scrolled .logo img {
            filter: brightness(0) invert(1);
        }

        .logo-container {
            display: flex;
            align-items: center;
            gap: 1rem;
        }

        .logo {
            font-size: 1.8rem;
            font-weight: 700;
            color: var(--wine);
            letter-spacing: 0.4rem;
            position: relative;
            animation: logoGlow 3s ease-in-out infinite;
            transition: color 0.4s ease;
        }

        @keyframes logoGlow {
            0%, 100% { 
                text-shadow: 0 0 10px var(--wine), 0 0 20px var(--wine);
            }
            50% { 
                text-shadow: 0 0 20px var(--wine), 0 0 40px var(--wine), 0 0 60px var(--fuchsia);
            }
        }

        .nav-links {
            display: flex;
            gap: 3rem;
            list-style: none;
        }

        .nav-links a {
            text-decoration: none;
            color: var(--wine);
            font-weight: 400;
            font-size: 0.9rem;
            letter-spacing: 0.1rem;
            text-transform: uppercase;
            position: relative;
            transition: all 0.3s ease;
        }

        .nav-links a::before {
            content: '';
            position: absolute;
            bottom: -5px;
            left: 50%;
            width: 0;
            height: 2px;
            background: var(--wine);
            transition: all 0.3s ease;
            transform: translateX(-50%);
        }

        .nav-links a:hover::before {
            width: 100%;
        }

        .nav-links a:hover {
            color: var(--fuchsia);
        }

        /* Hero Section */
        .hero {
            height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            overflow: hidden;
            background: #FFFFF0;
        }

        .hero-background {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0.15;
        }

        .animated-pattern {
            position: absolute;
            width: 100%;
            height: 100%;
        }

        .stripe-pattern {
            position: absolute;
            width: 150px;
            height: 200%;
            background: repeating-linear-gradient(
                0deg,
                var(--wine) 0px,
                var(--wine) 20px,
                transparent 20px,
                transparent 40px
            );
            animation: stripeMove 20s linear infinite;
        }

        .stripe-pattern:nth-child(1) { left: 10%; animation-delay: 0s; }
        .stripe-pattern:nth-child(2) { left: 30%; animation-delay: -5s; opacity: 0.5; }
        .stripe-pattern:nth-child(3) { left: 50%; animation-delay: -10s; }
        .stripe-pattern:nth-child(4) { left: 70%; animation-delay: -15s; opacity: 0.7; }
        .stripe-pattern:nth-child(5) { left: 90%; animation-delay: -7s; opacity: 0.3; }

        @keyframes stripeMove {
            0% { transform: translateY(-50%) rotate(10deg); }
            100% { transform: translateY(0%) rotate(10deg); }
        }

        .hero-content {
            position: relative;
            z-index: 10;
            text-align: center;
            max-width: 1200px;
            padding: 2rem;
        }

        .hero-subtitle {
            font-size: 1rem;
            letter-spacing: 0.3rem;
            color: var(--wine);
            font-weight: 600;
            text-transform: uppercase;
            margin-bottom: 2rem;
            opacity: 0;
            animation: fadeInDown 1s ease 0.3s forwards;
            
        }

        @keyframes fadeInDown {
            from {
                opacity: 0;
                transform: translateY(-30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .hero-title {
            font-size: 8rem;
            font-weight: 800;
            letter-spacing: 0.5rem;
            line-height: 1;
            margin-bottom: 2rem;
            background: var(--wine);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            opacity: 0;
            animation: fadeInUp 1s ease 0.6s forwards;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(50px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .hero-description {
            font-size: 1.3rem;
            font-weight: 300;
            color: #FFFFF0;
            max-width: 700px;
            margin: 0 auto 3rem;
            line-height: 1.8;
            opacity: 0;
            animation: fadeIn 1s ease 0.9s forwards;
        }

        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        .hero-cta {
            display: inline-block;
            padding: 1.2rem 3rem;
            background: var(--wine);
            color: #FFFFF0;
            text-decoration: none;
            font-weight: 600;
            letter-spacing: 0.2rem;
            text-transform: uppercase;
            font-size: 0.9rem;
            border-radius: 0;
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
            opacity: 0;
            animation: fadeIn 1s ease 1.2s forwards;
        }

        .hero-cta::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: var(--fuchsia);
            transition: left 0.4s ease;
            z-index: -1;
        }

        .hero-cta:hover::before {
            left: 0;
        }

        .hero-cta:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 40px rgba(136, 0, 48, 0.5);
        }

        .scroll-indicator {
            position: absolute;
            bottom: 3rem;
            left: 50%;
            transform: translateX(-50%);
            width: 30px;
            height: 50px;
            border: 2px solid var(--wine);
            border-radius: 20px;
            opacity: 0;
            animation: fadeIn 1s ease 1.5s forwards;
        }

        .scroll-indicator::before {
            content: '';
            position: absolute;
            top: 30px;
            left: 50%;
            transform: translateX(-50%);
            width: 6px;
            height: 6px;
            background: var(--wine);
            border-radius: 50%;
            animation: scrollDot 2s ease infinite;
        }

        @keyframes scrollDot {
            0%, 100% { transform: translate(-50%, 0); opacity: 1; }
            50% { transform: translate(-50%, 20px); opacity: 0.3; }
        }

        /* Section Styles */
        section {
            padding: 8rem 5%;
            position: relative;
        }

        .section-header {
            text-align: center;
            margin-bottom: 5rem;
        }

        .section-label {
            font-size: 0.9rem;
            letter-spacing: 0.3rem;
            color: var(--wine);
            font-weight: 600;
            text-transform: uppercase;
            margin-bottom: 1rem;
        }

        .section-title {
            font-size: 4rem;
            font-weight: 700;
            color: var(--wine);
            letter-spacing: 0.1rem;
        }

        /* About Section */
        #about {
            background: #FFFFF0;
            min-height: 100vh;
            display: flex;
            align-items: center;
        }

        .about-container {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 8rem;
            align-items: center;
            max-width: 1400px;
            margin: 0 auto;
        }

        .about-image {
            position: relative;
            height: 700px;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            background: transparent;
            :hover
            {
                transform: rotate(45deg);
            }
        }

        .about-image::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: transparent;
            opacity: 0;
            z-index: 1;
            transition: opacity 0.4s ease;
            pointer-events: none;
            transform: rotate(45deg);
        }

        .about-image:hover::before {
            opacity: 0.3;
            transform: rotate(45deg);
        }

        .about-image img {
            width: 100%;
            height: 100%;
            max-width: 450px;
            max-height: 450px;
            object-fit: contain;
            transition: transform 0.6s ease;
            position: relative;
            z-index: 0;
        }

        .about-image:hover img {
            transform: scale(1.1);
        }

        .about-text h2 {
            font-size: 3rem;
            margin-bottom: 2rem;
            color: var(--wine);
            line-height: 1.3;
        }

        .about-text p {
            font-size: 1.1rem;
            line-height: 2;
            color: #66001E;
            margin-bottom: 1.5rem;
        }

        .about-text p:first-of-type {
            font-size: 1.3rem;
            color: var(--wine);
            font-weight: 500;
        }

        /* Services Section */
        #services {
            background: var(--wine);
            position: relative;
            overflow: hidden;
        }

        .services-background {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0.05;
            background-image: 
                repeating-linear-gradient(
                    0deg,
                    #FFFFF0 0px,
                    #FFFFF0 2px,
                    transparent 2px,
                    transparent 40px
                ),
                repeating-linear-gradient(
                    90deg,
                    #FFFFF0 0px,
                    #FFFFF0 2px,
                    transparent 2px,
                    transparent 40px
                );
        }

        .services-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 0;
            max-width: 1400px;
            margin: 0 auto;
        }

        .service-item {
            padding: 4rem;
            border: 1px solid rgba(255, 253, 245, 0.1);
            position: relative;
            overflow: hidden;
            transition: all 0.4s ease;
            background: rgba(0, 0, 0, 0.2);
        }

        .service-item::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: rgba(255, 207, 237, 0.1);
            transition: left 0.4s ease;
        }

        .service-item:hover::before {
            left: 0;
        }

        .service-item:hover {
            transform: scale(1.05);
            z-index: 10;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
        }

        .service-icon {
            width: 80px;
            height: 80px;
            margin-bottom: 2rem;
            transition: transform 0.4s ease;
        }

        .service-item:hover .service-icon {
            transform: rotate(10deg) scale(1.1);
        }

        .service-item h3 {
            font-size: 1.8rem;
            margin-bottom: 1.5rem;
            color: #FFFFF0;
            font-weight: 600;
        }

        .service-item p {
            font-size: 1rem;
            line-height: 1.8;
            color: rgba(255, 253, 245, 0.85);
        }

        /* Taglines Section */
        .taglines-section {
            background: #FFFFF0;
            padding: 6rem 5%;
            overflow: hidden;
        }

        .tagline {
            font-size: 3rem;
            font-weight: 600;
            color: var(--wine);
            text-align: center;
            margin: 1rem 0;
            opacity: 0;
            transform: translateX(-100px);
            transition: all 0.6s ease;
        }

        .tagline.visible {
            opacity: 1;
            transform: translateX(0);
        }

        .tagline:nth-child(even) {
            color: var(--pink);
            transform: translateX(100px);
        }

        /* Portfolio Section */
        #portfolio {
            background: #FFFFF0;
            padding: 8rem 0;
        }

        .portfolio-header {
            padding: 0 5%;
            margin-bottom: 5rem;
        }

        .portfolio-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0;
        }/* Portfolio Section */
#portfolio {
  background: #ffffff;
  padding: 8rem 5%;
}

.portfolio-header {
  text-align: center;
  margin-bottom: 4rem;
}

.portfolio-header .section-label {
  color: var(--pink);
}

.portfolio-header .section-title {
  color: #0a0a0a;
}

/* Portfolio Grid */
.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1400px;
  margin: 0 auto;
}

.portfolio-item {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  border-radius: 12px;
  aspect-ratio: 16 / 9;
}

/* Thumbnail Container */
.thumbnail-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.portfolio-thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.portfolio-item:hover .portfolio-thumbnail {
  transform: scale(1.05);
}

/* Video Overlay */
.video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(136, 0, 48, 0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.portfolio-item:hover .video-overlay {
  opacity: 1;
}

.view-text {
  color: #fffdf5;
  font-size: 1.5rem;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* ==========================================
           MODAL STYLES - Design comme le screenshot
           ========================================== */

.video-modal {
  display: none;
  position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85);
  overflow-y: auto;
  padding: 40px 20px;
}

.video-modal.active {
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal-content {
  position: relative;
  width: 90%;
  max-width: 900px;
  background: #fffdf5;
  border-radius: 24px;
  padding: 30px;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.5);
}

.modal-close {
  position: absolute;
  right: 20px;
  top: 15px;
  font-size: 32px;
  color: #880030;
  cursor: pointer;
  z-index: 10001;
  transition: transform 0.3s ease;
  line-height: 1;
}

.modal-close:hover {
  transform: rotate(90deg);
}

/* Modal Layout - Vidéo à gauche, description à droite */
.modal-layout {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}

/* Video Wrapper - Taille fixe bloquée */
.modal-video-wrapper {
  flex: 0 0 550px;
  max-width: 550px;
  background: #000;
  border-radius: 16px;
  overflow: hidden;
}

.modal-video-wrapper video {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  display: block;
  border-radius: 16px;
}

/* Description - Police Montserrat */
.modal-description {
  flex: 1;
  padding: 10px 0;
  font-family: "Montserrat", sans-serif;
}

.modal-description h3 {
  font-family: "Montserrat", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  font-style: italic;
  color: #880030;
  margin: 0 0 20px 0;
  text-transform: uppercase;
}

.modal-description p {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  color: #333;
  margin: 0;
}

        /* Contact Section */
        #contact {
            background: #FFFFF0;
            min-height: 100vh;
            display: flex;
            align-items: center;
            position: relative;
        }

        .contact-pattern {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0.05;
            background-image: 
                repeating-linear-gradient(
                    45deg,
                    var(--wine) 0px,
                    var(--wine) 10px,
                    transparent 10px,
                    transparent 20px
                );
        }

        .contact-container {
            max-width: 800px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }

        .contact-intro {
            text-align: center;
            margin-bottom: 4rem;
        }

        .contact-intro h2 {
            font-size: 4rem;
            color: var(--wine);
            margin-bottom: 1.5rem;
        }

        .contact-intro p {
            font-size: 1.3rem;
            color: var(--wine);
        }

        .contact-form {
            background: rgba(255, 253, 245, 0.8);
            padding: 4rem;
            border: 2px solid var(--wine);
            backdrop-filter: blur(20px);
            box-shadow: 0 10px 40px rgba(136, 0, 48, 0.1);
        }

        .form-group {
            margin-bottom: 2.5rem;
        }

        .form-group label {
            display: block;
            font-size: 0.9rem;
            color: var(--wine);
            margin-bottom: 0.8rem;
            font-weight: 600;
            letter-spacing: 0.1rem;
            text-transform: uppercase;
        }

        .form-group input,
        .form-group textarea {
            width: 100%;
            padding: 1.2rem;
            background: white;
            border: 2px solid rgba(136, 0, 48, 0.3);
            color: var(--wine);
            font-size: 1rem;
            font-family: 'Montserrat', sans-serif;
            transition: all 0.3s ease;
        }

        .form-group input:focus,
        .form-group textarea:focus {
            outline: none;
            border-color: var(--fuchsia);
            background: rgba(255, 207, 237, 0.1);
            box-shadow: 0 0 20px rgba(255, 151, 253, 0.3);
        }

        .form-group input::placeholder,
        .form-group textarea::placeholder {
            color: #66001E;
        }

        .form-group textarea {
            resize: vertical;
            min-height: 150px;
        }

        .submit-btn {
            width: 100%;
            padding: 1.5rem;
            background: transparent;
            color: var(--wine);
            border: 2px solid var(--wine);
            font-size: 1rem;
            font-weight: 600;
            letter-spacing: 0.2rem;
            text-transform: uppercase;
            cursor: none;
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
            border-radius: 12px;
        }

        .submit-btn::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            background: var(--fuchsia);
            border-radius: 50%;
            transform: translate(-50%, -50%);
            transition: width 0.6s ease, height 0.6s ease;
        }

        .submit-btn:hover::before {
            width: 600px;
            height: 600px;
        }

        .submit-btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 30px rgba(255, 151, 253, 0.5);
            border-color: var(--fuchsia);
        }

        .submit-btn span {
            position: relative;
            z-index: 1;
        }

        /* Footer */
        footer {
            background: var(--wine);
            padding: 3rem 5%;
            text-align: center;
        }

        .footer-content {
            display: flex;
            justify-content: space-between;
            align-items: center;
            max-width: 1400px;
            margin: 0 auto;
            flex-wrap: wrap;
            gap: 2rem;
        }

        .footer-logo {
            font-size: 2rem;
            font-weight: 700;
            color: white;
            letter-spacing: 0.4rem;
        }

        .footer-links {
            display: flex;
            gap: 2rem;
        }

        .footer-links a {
            color: white;
            text-decoration: none;
            font-size: 0.9rem;
            letter-spacing: 0.1rem;
            transition: color 0.3s ease;
        }

        .footer-links a:hover {
            color: var(--pink);
        }

        .footer-copyright {
            width: 100%;
            margin-top: 2rem;
            padding-top: 2rem;
            border-top: 1px solid rgba(255, 253, 245, 0.2);
            color: rgba(255, 255, 255, 0.7);
            font-size: 0.9rem;
        }

        /* Scroll Animations */
        .fade-in {
            opacity: 0;
            transform: translateY(50px);
            transition: all 0.8s ease;
        }

        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .slide-in-left {
            opacity: 0;
            transform: translateX(-100px);
            transition: all 0.8s ease;
        }

        .slide-in-left.visible {
            opacity: 1;
            transform: translateX(0);
        }

        .slide-in-right {
            opacity: 0;
            transform: translateX(100px);
            transition: all 0.8s ease;
        }

        .slide-in-right.visible {
            opacity: 1;
            transform: translateX(0);
        }

        /* Mobile Menu */
        .mobile-menu-toggle {
            display: none !important;
            flex-direction: column;
            gap: 6px;
            cursor: none;
        }

        .mobile-menu-toggle span {
            width: 30px;
            height: 2px;
            background: #FFFFF0;
            transition: all 0.3s ease;
        }

        /* Responsive */
        @media (max-width: 1024px) {
            .hero-title {
                font-size: 5rem;
            }

            .about-container {
                grid-template-columns: 1fr;
                gap: 4rem;
            }

            .services-grid {
                grid-template-columns: 1fr;
            }

            .portfolio-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 768px) {
            .cursor, .cursor-follower {
                display: none;
            }

            body {
                cursor: auto;
            }

            .nav-links {
                display: none;
            }

            .hero-title {
                font-size: 3rem;
            }

            .hero-description {
                font-size: 1.1rem;
            }

            .section-title {
                font-size: 2.5rem;
            }

            .portfolio-grid {
                grid-template-columns: 1fr;
            }


            .taglines-section {
                padding: 4rem 0;
            }

            .instagram-section {
                padding: 4rem 1rem;
            }

            .instagram-content {
                display: flex;
                flex-direction: column;
                align-items: center;
                text-align: left;
            }

            .instagram-link {
                width: fit-content;
                margin: 0 auto;
            }

            * {
                max-width: 100%;
            }

            section {
                padding: 5rem 5%;
                overflow-x: hidden;
            }

            .contact-form {
                padding: 2rem;
            }

            .footer-content {
                flex-direction: column;
                text-align: center;
            }
        

        /* ===== Correctifs affichage mobile ===== */
    /* Correction lien Instagram */
    .instagram-section {
        padding: 3rem 1.5rem !important;
        text-align: center !important;
    }

    .instagram-content {
        max-width: 90% !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    .instagram-link {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: nowrap !important;
        gap: 0.6rem !important;
        font-size: 1rem !important;
        padding: 1rem 2rem !important;
        white-space: nowrap !important;
    }

    .instagram-link span {
        overflow: visible !important;
    }

    .taglines-section {
        padding-top: 1.5rem !important;
        text-align: center !important;
        padding-bottom: 1.5rem !important; /* réduit l’espace vertical */
        margin-bottom: 0 !important; 
    }

    .tagline {
        font-size: 1.8rem !important;
        line-height: 1.4 !important; 
        transform: none !important;
        opacity: 1 !important;
    }

    .tagline:nth-child(even){
        color: #FF97FD;
    }
    .tagline:nth-child(odd) {
        color: var(--wine) !important;
        padding-left: 30%;
    }



    .tagline:nth-child(5) {
        padding-left: 10%;
    }

        }

        /* Loading Animation */
        .loading-screen {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: var(--wine);
            z-index: 10001;
            display: flex;
            align-items: center;
            justify-content: center;
            animation: slideUp 0.8s ease 2s forwards;
        }

        @keyframes slideUp {
            to {
                transform: translateY(-100%);
            }
        }

        .loading-logo {
            font-size: 5rem;
            color: #FFFFF0;
            font-weight: 800;
            letter-spacing: 0.5rem;
            animation: pulse 1.5s ease infinite;
        }

        @keyframes pulse {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: 0.5; transform: scale(1.05); }
        }

        /* ============================================
           ENHANCED MEDIA ANIMATIONS
           ============================================ */
        
        /* agence-1.png - Main visual floating animation */
        .media-agence-1 {
            animation: float-gentle 6s ease-in-out infinite;
        }

        @keyframes float-gentle {
            0%, 100% { transform: translateY(0) scale(1); }
            50% { transform: translateY(-10px) scale(1.02); }
        }

        /* services-1.png - Strategy icon pulse and rotate */
        .media-services-1 {
            animation: pulse-rotate 3s ease-in-out infinite;
        }

        @keyframes pulse-rotate {
            0%, 100% { transform: scale(1) rotate(0deg); }
            50% { transform: scale(1.1) rotate(5deg); }
        }

        /* services-2.png - Camera icon click effect */
        .media-services-2 {
            animation: camera-click 2.5s ease-in-out infinite;
        }

        @keyframes camera-click {
            0%, 90%, 100% { transform: scale(1); }
            93%, 97% { transform: scale(0.95); }
            95% { transform: scale(1.05); }
        }

        /* services-3.png - Lightning energy burst */
        .media-services-3 {
            animation: energy-burst 2s ease-in-out infinite;
        }

        @keyframes energy-burst {
            0%, 100% { transform: scale(1); filter: brightness(1); }
            10%, 30%, 50% { transform: scale(1.15); filter: brightness(1.3); }
            20%, 40% { transform: scale(0.95); filter: brightness(0.9); }
        }

        /* services-4.png - Social bubbles float */
        .media-services-4 {
            animation: bubbles-float 3s ease-in-out infinite;
        }

        @keyframes bubbles-float {
            0%, 100% { transform: translateY(0); }
            25% { transform: translateY(-8px); }
            50% { transform: translateY(0); }
            75% { transform: translateY(-4px); }
        }

        /* Hover enhancement for all service icons */
        .service-item:hover .service-icon {
            animation-play-state: paused;
            transform: scale(1.2) rotate(10deg) !important;
            filter: drop-shadow(0 0 25px rgba(255, 151, 253, 0.8));
            transition: all 0.4s ease;
        }

        .about-image:hover .media-agence-1 {
            animation-play-state: paused;
            transform: scale(1.05);
            filter: brightness(1.1);
        }

        /* CTA Button - On en discute */
        .cta-discuss {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 1.2rem 3rem;
            background: var(--wine);
            color: #FFFFF0;
            font-size: 1.1rem;
            font-weight: 600;
            letter-spacing: 0.1rem;
            text-decoration: none;
            border-radius: 50px;
            transition: all 0.4s ease;
            margin-top: 2rem;
            border: 2px solid var(--wine);
            text-transform: uppercase;
            position: relative;
            overflow: hidden;
            cursor: pointer;
        }

        .cta-discuss::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            border-radius: 50%;
            background: var(--pink);
            transition: all 0.5s ease;
            transform: translate(-50%, -50%);
        }

        .cta-discuss:hover::before {
            width: 400px;
            height: 400px;
        }

        .cta-discuss span {
            position: relative;
            z-index: 1;
        }

        .cta-discuss:hover {
            color: var(--wine);
            transform: translateY(-3px);
            box-shadow: 0 10px 30px rgba(179, 32, 74, 0.3);
        }

        /* Instagram Section */
        .instagram-section {
            background:#a6d5e3;
            padding: 6rem;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .instagram-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23B3204A' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
            opacity: 0.3;
        }

        .instagram-content {
            position: relative;
            z-index: 1;
            max-width: 700px;
            margin: 0 auto;
        }

        .instagram-content h2 {
            font-size: 2.5rem;
            color: var(--wine);
            margin-bottom: 1.5rem;
            font-weight: 700;
        }

        .instagram-content p {
            font-size: 1.2rem;
            color: var(--wine);
            margin-bottom: 2.5rem;
            line-height: 1.8;
        }

        .instagram-link {
            display: inline-flex;
            align-items: center;
            gap: 1rem;
            padding: 1.2rem 3rem;
            background: var(--wine);
            color: #FFFFF0;
            text-decoration: none;
            font-size: 1.1rem;
            font-weight: 600;
            letter-spacing: 0.05rem;
            border-radius: 50px;
            transition: all 0.4s ease;
            border: 2px solid var(--wine);
        }

        .instagram-link:hover {
            background: transparent;
            color: var(--wine);
            transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(179, 32, 74, 0.3);
        }

        .instagram-icon {
            width: 30px;
            height: 30px;
            fill: currentColor;
        }