/* === SPICY MOTION GLOBAL STYLES (AUTONOMOUS FROM ELEMENTOR PRO) === */

/* Neutralisation globale stricte du rose #c36 hérité de Hello Elementor theme.css */
[type=button], [type=submit], button {
    border-color: transparent !important;
}
[type=button]:focus, [type=button]:hover,
[type=submit]:focus, [type=submit]:hover,
button:focus, button:hover {
    background-color: transparent !important;
    border-color: transparent !important;
}

/* Support Barre d'Administration WordPress (Admin Bar Frontend) */
body.admin-bar .ai-header-wrapper {
    top: 32px !important;
}
@media screen and (max-width: 782px) {
    body.admin-bar .ai-header-wrapper {
        top: 46px !important;
    }
}
body.admin-bar .ai-mobile-menu {
    top: 32px !important;
    height: calc(100vh - 32px) !important;
    height: calc(100dvh - 32px) !important;
}
@media screen and (max-width: 782px) {
    body.admin-bar .ai-mobile-menu {
        top: 46px !important;
        height: calc(100vh - 46px) !important;
        height: calc(100dvh - 46px) !important;
    }
}


/* --- From global-1.html --- */
html {
  scroll-behavior: smooth;
}
        #spicy-home-hero {
            font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            width: 100%;
            height: 100vh;
            height: 100dvh;
            min-height: 520px;
            position: relative;
            overflow: hidden;
            background-color: #0c0a09;
            background-image: radial-gradient(circle at 50% 30%, #1c1917 0%, #0c0a09 70%);
            /* Subtle gradient from typo widget */
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            text-align: center;
        }
        #spicy-home-hero * {
            box-sizing: border-box;
        }
        /* --- WRAPPER FOR CIRCLES (Fades out when Active) --- */
        .spicy-circles-container {
            position: absolute;
            inset: 0;
            pointer-events: none;
            z-index: 0;
            transition: opacity 1.5s ease-in-out;
            opacity: 1;
            /* Visible by default */
        }
        .spicy-circles-container.is-hidden {
            opacity: 0;
            /* Hide when video plays */
        }
        /* Circles Wrapper */
        .spicy-circle-wrapper {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .wrapper-1 {
            width: 600px;
            height: 600px;
            animation: spicyPulse 15s ease-in-out infinite alternate;
        }
        .wrapper-2 {
            width: 900px;
            height: 900px;
            animation: spicyPulse 20s ease-in-out infinite alternate-reverse;
        }
        /* Circles Graphics */
        .spicy-graphic-circle {
            width: 100%;
            height: 100%;
            border-radius: 50%;
            border: 2px dashed rgba(255, 255, 255, 0.15);
        }
        .circle-1 {
            animation: spicySpin 60s linear infinite;
            opacity: 0.6;
        }
        .circle-2 {
            animation: spicySpin 90s linear infinite reverse;
            opacity: 0.4;
            border-style: solid;
            border-width: 1px;
            border-color: rgba(255, 255, 255, 0.1);
        }
        /* Animations for Circles */
        @keyframes spicyPulse {
            0% {
                transform: translate(-50%, -50%) scale(0.95);
            }
            100% {
                transform: translate(-50%, -50%) scale(1.15);
            }
        }
        @keyframes spicySpin {
            from {
                transform: rotate(0deg);
            }
            to {
                transform: rotate(360deg);
            }
        }
        /* --- VIDEO BACKGROUND (BUNNY & VIMEO) --- */
        .spicy-video-bg,
        .spicy-vimeo-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: 0;
            /* Hidden by default */
            transition: opacity 1.5s ease-in-out;
            z-index: 1;
            /* On top of circles */
            overflow: hidden;
            pointer-events: none;
        }
        .spicy-video-bg.is-playing,
        .spicy-vimeo-bg.is-playing {
            opacity: 0.65;
        }
        .spicy-vimeo-bg iframe {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 100vw;
            height: 56.25vw;
            min-height: 100vh;
            min-width: 177.77vh;
            transform: translate(-50%, -50%);
            border: 0;
            pointer-events: none;
        }
        .spicy-card-vimeo-preview {
            position: absolute !important;
            top: 50% !important;
            left: 50% !important;
            transform: translate(-50%, -50%) !important;
            border: 0 !important;
            pointer-events: none !important;
            z-index: 2 !important;
            opacity: 0;
            transition: opacity 0.4s ease !important;
        }
        .ai-skills-left,
        .ai-srv-modal-left,
        .ai-pf-left {
            position: relative !important;
            overflow: hidden !important;
            background: #000 !important;
        }
        .spicy-vimeo-modal-cover,
        #ai-portfolio-vimeo-frame,
        #ai-srv-modal-vimeo-frame,
        #ai-skills-vimeo-frame {
            position: absolute !important;
            top: 50% !important;
            left: 50% !important;
            right: auto !important;
            bottom: auto !important;
            transform: translate(-50%, -50%) !important;
            border: 0 !important;
            pointer-events: none !important;
            z-index: 2 !important;
        }
        .spicy-overlay {
            position: absolute;
            inset: 0;
            background: rgba(12, 10, 9, 0.4);
            z-index: 2;
        }
        /* Content */
        .spicy-hero-content {
            position: relative;
            z-index: 10;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 0 20px;
        }
        /* H1 Heading Container */
        .spicy-hero-heading {
            display: flex;
            flex-direction: column;
            align-items: center;
            margin: 0;
            padding: 0;
            font-weight: inherit;
            font-size: inherit;
            line-height: inherit;
            text-align: center;
        }
        /* Typography */
        .spicy-main-title {
            display: block;
            font-size: clamp(2.2rem, 10.5vw, 4rem);
            font-weight: 800;
            line-height: 0.95;
            text-transform: uppercase;
            margin: 0;
            letter-spacing: -0.04em;
            transition: all 0.5s ease;
        }
        @media (min-width: 768px) {
            .spicy-main-title {
                font-size: 8rem;
                line-height: 0.9;
            }
        }
        @media (min-width: 1024px) {
            .spicy-main-title {
                font-size: 10rem;
                line-height: 0.9;
            }
        }
        @media (max-width: 768px) {
            #spicy-home-hero {
                min-height: 480px !important;
                height: 100vh !important;
                height: 100dvh !important;
                padding-top: 68px !important;
                padding-bottom: 24px !important;
            }
            .spicy-hero-content {
                padding: 0 16px !important;
            }
            .spicy-subtitle {
                font-size: clamp(0.72rem, 3.2vw, 0.95rem) !important;
                letter-spacing: 0.12em !important;
                margin-top: 1.25rem !important;
                line-height: 1.35 !important;
                padding: 0 8px !important;
            }
            .spicy-description {
                font-size: clamp(0.68rem, 2.8vw, 0.85rem) !important;
                letter-spacing: 0.08em !important;
                margin-top: 0.35rem !important;
            }
            .spicy-qg-wrapper {
                margin-top: 24px !important;
            }
        }
        /* The "SPICY" Effect */
        .spicy-word-highlight {
            display: block;
            /* Default State: Outline Only (Dormant) */
            color: transparent;
            -webkit-text-stroke: 2px rgba(255, 255, 255, 0.2);
            background: none;
            transition: all 0.8s ease;
        }
        /* Active State: Rainbow Flow */
        .spicy-word-highlight.is-active {
            -webkit-text-stroke: 0px transparent;
            color: transparent;
            /* Authentic "Spark" Gradient: Orange -> Rose -> Purple -> Indigo */
            background: linear-gradient(90deg, #f08716 0%, #e11d48 30%, #d946ef 60%, #6366f1 100%, #f08716 0%, #e11d48 30%, #d946ef 60%, #6366f1 100%);
            background-size: 200% auto;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            /* Animations */
            animation: spicyRainbowFlow 8s linear infinite, spicyOpacityPulse 3s ease-in-out infinite alternate;
        }
        .spicy-subtitle {
            display: block !important;
            font-family: 'Inter', -apple-system, sans-serif !important;
            margin-top: 2rem !important;
            color: #d6d3d1 !important;
            font-size: 1.125rem !important;
            letter-spacing: 0.2em !important;
            font-weight: 300 !important;
            text-transform: uppercase !important;
            opacity: 1 !important;
        }
        .spicy-description {
            display: block !important;
            font-family: 'Inter', -apple-system, sans-serif !important;
            margin-top: 0.5rem !important;
            color: #a8a29e !important;
            font-size: 0.95rem !important;
            letter-spacing: 0.15em !important;
            font-weight: 300 !important;
            text-transform: uppercase !important;
            opacity: 0.85 !important;
        }
        /* Animations Text */
        @keyframes spicyRainbowFlow {
            0% {
                background-position: 0% center;
            }
            100% {
                background-position: -200% center;
            }
        }
        @keyframes spicyOpacityPulse {
            0% {
                opacity: 0.85;
                filter: drop-shadow(0 0 10px rgba(99, 102, 241, 0.3));
            }
            100% {
                opacity: 1;
                filter: drop-shadow(0 0 25px rgba(225, 29, 72, 0.5));
            }
        }
 /* --- CONFIGURATION FINALE SANS CONFLIT --- */

/* Conteneur */
.spicy-qg-wrapper {
    margin-top: 50px !important;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    line-height: 1 !important;
}

/* Le Rail (Le bouton lui-même) */
.spicy-qg-switch {
    position: relative !important;
    display: inline-block !important;
    width: 80px !important;
    height: 40px !important;
    margin: 0 auto 15px auto !important;
    padding: 0 !important;
    cursor: pointer !important;
    vertical-align: middle !important;
}

.spicy-qg-switch input {
    display: none !important; /* Cache l'input natif */
}

/* Fond du rail */
.spicy-qg-slider {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    border: 2px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 40px !important;
    transition: 0.4s !important;
}

/* Le rond gris */
.spicy-qg-slider:before {
    position: absolute !important;
    content: "" !important;
    height: 30px !important;
    width: 30px !important;
    left: 3px !important;
    top: 3px !important;
    background-color: #a8a29e !important;
    border-radius: 50% !important;
    transition: 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

/* Interaction */
input:checked + .spicy-qg-slider {
    background-color: rgba(240, 135, 22, 0.2) !important;
    border-color: #f08716 !important;
}

input:checked + .spicy-qg-slider:before {
    transform: translateX(40px) !important;
    background-color: #f08716 !important;
}

/* Le Texte d'avertissement */
.spicy-qg-label {
    display: block !important;
    margin-top: 10px !important;
    color: #78716c !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1.2 !important;
    text-align: center !important;
}
        /* Scoped Root */
           .ai-marquee-section {
               position: relative !important;
               width: 100% !important;
               background-color: #0c0a09 !important;
               /* stone-950 */
               border-top: 1px solid #292524 !important;
               /* stone-800 */
               border-bottom: 1px solid #292524 !important;
               /* stone-800 */
               padding: 30px 0 !important;
               overflow: hidden !important;
               z-index: 1 !important;
               font-family: 'Oswald', sans-serif !important;
               display: block !important;
               box-sizing: border-box !important;
               max-width: 100vw !important;
               /* Prevent scrollbar triggers */
           }

           .ai-marquee-section * {
               box-sizing: border-box !important;
           }

           /* The Scrolling Wrapper */
           .ai-marquee-wrapper {
               display: flex !important;
               width: 100% !important;
               overflow: hidden !important;
               white-space: nowrap !important;
               position: relative !important;
               align-items: center !important;
           }

           /* The Moving Parts (Two copies side-by-side) */
           .ai-marquee-content {
               display: flex !important;
               align-items: center !important;
               justify-content: flex-start !important;
               white-space: nowrap !important;
               flex-shrink: 0 !important;
               min-width: 100% !important;

               /* Animation: Ralentie pour défilement noble et fluide */
               animation: ai-loop 95s linear infinite !important;
               will-change: transform !important;
           }

           @keyframes ai-loop {
               0% {
                   transform: translate3d(0, 0, 0);
               }

               100% {
                   transform: translate3d(-100%, 0, 0);
               }
           }

           /* Items */
           .ai-marquee-item {
               padding: 0 45px !important;
               display: inline-flex !important;
               align-items: center !important;
               justify-content: center !important;
               flex-shrink: 0 !important;
           }

           /* Text Typography */
           .ai-marquee-text {
               font-family: 'Oswald', sans-serif !important;
               font-weight: 700 !important;
               font-size: 1.25rem !important;
               color: rgba(255, 255, 255, 0.2) !important;
               text-transform: uppercase !important;
               letter-spacing: 0.05em !important;
               transition: color 0.3s ease !important;
               cursor: default !important;
               line-height: 1 !important;
           }

           .ai-marquee-text:hover {
               color: #ffffff !important;
           }

           /* Desktop */
           @media (min-width: 768px) {
               .ai-marquee-text {
                   font-size: 2rem !important;
                   letter-spacing: 0.1em !important;
               }

               .ai-marquee-item {
                   padding: 0 60px !important;
               }
           }

           /* Overlay Gradients */
           .ai-marquee-overlay {
               position: absolute !important;
               top: 0 !important;
               bottom: 0 !important;
               width: 80px !important;
               z-index: 2 !important;
               pointer-events: none !important;
           }

           .ai-left {
               left: 0 !important;
               background: linear-gradient(to right, #0c0a09, transparent) !important;
           }

           .ai-right {
               right: 0 !important;
               background: linear-gradient(to left, #0c0a09, transparent) !important;
           }
	#spicy-cta-compact {
            font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }
        .spicy-compact-wrapper {
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 1.5rem;
            padding: 0.75rem 1.5rem;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 9999px;
            backdrop-filter: blur(10px);
            transition: all 0.3s ease;
            text-decoration: none;
        }
        .spicy-compact-wrapper:hover {
            border-color: rgba(240, 135, 22, 0.5);
            /* Orange Border */
            background: rgba(240, 135, 22, 0.05);
            box-shadow: 0 0 25px rgba(240, 135, 22, 0.2);
            transform: translateY(-2px);
        }
        /* Status Dot - SPICY ORANGE */
        .spicy-status-dot {
            width: 8px;
            height: 8px;
            background-color: #f08716;
            /* Orange-600 */
            border-radius: 50%;
            position: relative;
            box-shadow: 0 0 10px #f08716;
            animation: spicyOrangePulse 3s infinite ease-in-out;
        }
        .spicy-status-dot::after {
            content: '';
            position: absolute;
            inset: -4px;
            border-radius: 50%;
            background-color: #f08716;
            opacity: 0.4;
            animation: spicyPing 2s cubic-bezier(0, 0, 0.2, 1) infinite;
        }
        /* Text Group */
        .spicy-text-group {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            line-height: 1.1;
        }
        .spicy-status-text {
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: #a8a29e;
            font-weight: 500;
        }
        .spicy-action-text {
            font-size: 0.9rem;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: white;
            transition: all 0.5s ease;
        }
        /* Hover Effect - THE FICTION GRADIENT */
        .spicy-compact-wrapper:hover .spicy-action-text {
            /* Exact gradient from "FICTION" */
            background: linear-gradient(to right, #f08716, #fbbf24);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            filter: drop-shadow(0 0 15px rgba(240, 135, 22, 0.3));
        }
        /* Arrow Icon */
        .spicy-arrow {
            width: 20px;
            height: 20px;
            color: white;
            transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
        }
        .spicy-compact-wrapper:hover .spicy-arrow {
            transform: translateX(4px) scale(1.1);
            color: #fbbf24;
            /* Match the lighter end of gradient */
        }
        @keyframes spicyPing {
            75%,
            100% {
                transform: scale(2);
                opacity: 0;
            }
        }
        @keyframes spicyOrangePulse {
            0%,
            100% {
                opacity: 1;
                box-shadow: 0 0 10px #f08716;
            }
            50% {
                opacity: 0.7;
                box-shadow: 0 0 20px #f08716;
            }
        }

/* --- From global-2-portfolio.html --- */
/* Scoped Root */
   .ai-portfolio-section {
       width: 100% !important;
       background-color: #0c0a09 !important;
       padding: 80px 20px !important;
       font-family: 'Inter', sans-serif !important;
       box-sizing: border-box !important;
   }

   .ai-portfolio-section * {
       box-sizing: border-box !important;
       margin: 0;
       padding: 0;
   }

   /* Container */
   .ai-portfolio-container {
       max-width: 1536px !important;
       margin: 0 auto !important;
   }

   /* GRID */
   .ai-portfolio-grid {
       display: grid !important;
       grid-template-columns: 1fr !important;
       gap: 24px !important;
       grid-auto-rows: auto !important;
   }

   @media (min-width: 768px) {
       .ai-portfolio-grid {
           grid-template-columns: repeat(4, 1fr) !important;
           grid-template-rows: repeat(3, 270px) !important;
           grid-auto-rows: 270px !important;
           height: 860px !important;
       }

       .ai-pf-span-2 {
           grid-column: span 2 !important;
       }
   }

   /* CARDS */
   .ai-pf-card {
       position: relative !important;
       border-radius: 24px !important;
       border: 1px solid #292524 !important;
       overflow: hidden !important;
       background-color: #1c1917 !important;
       cursor: pointer !important;
       display: block !important;
       transition: border-color 0.3s ease !important;
   }

   @media (max-width: 767px) {
       .ai-pf-card:not(.ai-pf-header) {
           height: 260px !important;
       }
   }

   .ai-pf-card:hover {
       border-color: #f08716 !important;
   }

   /* Header Card */
   .ai-pf-header {
       background: radial-gradient(circle at top right, rgba(240, 135, 22, 0.05), transparent 50%), #1c1917 !important;
       display: flex !important;
       flex-direction: column !important;
       justify-content: center !important;
       padding: 40px !important;
       cursor: default !important;
   }

   @media (max-width: 767px) {
       .ai-pf-header {
           order: -1 !important;
           height: auto !important;
           min-height: auto !important;
           padding: 28px 20px !important;
           justify-content: flex-start !important;
       }
       .ai-pf-header .spicy-title-single {
           margin: 0 0 12px 0 !important;
       }
       .ai-pf-header .spicy-heading-svg {
           width: 100% !important;
           max-width: 100% !important;
           height: auto !important;
           display: block !important;
           overflow: visible !important;
       }
       .ai-pf-subtitle {
           font-size: 0.95rem !important;
           line-height: 1.55 !important;
           margin-bottom: 16px !important;
       }
   }

   .ai-pf-header:hover {
       border-color: #292524 !important;
   }

   /* TYPOGRAPHY */
   .ai-pf-title-main {
       font-family: 'Oswald', sans-serif !important;
       font-size: 2.5rem !important;
       font-weight: 700 !important;
       text-transform: uppercase !important;
       color: #fff !important;
       line-height: 1 !important;
       margin-bottom: 20px !important;
   }

   @media (min-width: 768px) {
       .ai-pf-title-main {
           font-size: 3.5rem !important;
       }
   }

   .ai-pf-subtitle {
       color: #a8a29e !important;
       font-size: 1.1rem !important;
       line-height: 1.6 !important;
       max-width: 100% !important;
       margin-bottom: 20px !important;
   }

   .ai-pf-gradient {
       background: linear-gradient(90deg, #f08716, #e11d48, #d946ef, #6366f1) !important;
       -webkit-background-clip: text !important;
       background-clip: text !important;
       color: transparent !important;
   }

   .ai-pf-link {
       color: #fff !important;
       text-decoration: none !important;
       font-size: 0.9rem !important;
       text-transform: uppercase !important;
       letter-spacing: 1px !important;
       display: inline-flex !important;
       align-items: center !important;
   }

   .ai-pf-link:hover {
       color: #f08716 !important;
   }

   .ai-pf-link span {
       font-size: 1.2rem !important;
       margin-left: 5px !important;
       transition: transform 0.3s !important;
   }

   .ai-pf-link:hover span {
       transform: translateX(5px) !important;
   }

   /* CARD CONTENT */
   .ai-pf-bg {
       position: absolute !important;
       inset: 0 !important;
       width: 100% !important;
       height: 100% !important;
       object-fit: cover !important;
       opacity: 0.6 !important;
       transition: transform 0.5s !important;
       z-index: 1 !important;
   }

   .ai-pf-video-preview {
       position: absolute !important;
       inset: 0 !important;
       width: 100% !important;
       height: 100% !important;
       object-fit: cover !important;
       opacity: 0 !important;
       transition: opacity 0.5s ease !important;
       z-index: 2 !important;
   }

   .ai-pf-card:hover .ai-pf-bg {
       transform: scale(1.1) !important;
       opacity: 0 !important;
   }

   .ai-pf-card:hover .ai-pf-video-preview {
       opacity: 1 !important;
   }

   .ai-pf-content {
       position: absolute !important;
       bottom: 0 !important;
       left: 0 !important;
       width: 100% !important;
       padding: 30px !important;
       z-index: 10 !important;
       background: linear-gradient(to top, rgba(0, 0, 0, 0.9), transparent) !important;
       display: flex !important;
       flex-direction: column !important;
       justify-content: flex-end !important;
       height: 100% !important;
       pointer-events: none !important;
   }

   .ai-pf-cat {
       color: #f08716 !important;
       font-size: 0.75rem !important;
       letter-spacing: 2px !important;
       text-transform: uppercase !important;
       margin-bottom: 5px !important;
   }

   .ai-pf-name {
       font-family: 'Oswald', sans-serif !important;
       font-size: 1.6rem !important;
       color: #fff !important;
       text-transform: uppercase !important;
       margin: 0 !important;
       transition: color 0.3s ease !important;
   }

   .ai-pf-card:hover .ai-pf-name {
       color: #f08716 !important;
   }

   /* MODAL */
   .ai-pf-modal-overlay {
       display: none;
       position: fixed !important;
       inset: 0 !important;
       width: 100vw !important;
       height: 100vh !important;
       height: 100dvh !important;
       z-index: 9999999 !important;
       background: rgba(12, 10, 9, 0.96) !important;
       backdrop-filter: blur(8px) !important;
       -webkit-backdrop-filter: blur(8px) !important;
       align-items: center !important;
       justify-content: center !important;
       overscroll-behavior: contain !important;
       padding: 16px !important;
       box-sizing: border-box !important;
   }

   .ai-pf-modal-overlay.active {
       display: flex !important;
   }

   .ai-pf-modal-content {
       width: 90% !important;
       max-width: 1000px !important;
       background: #1c1917 !important;
       border: 1px solid rgba(240, 135, 22, 0.35) !important;
       border-radius: 24px !important;
       overflow: hidden !important;
       position: relative !important;
       display: flex !important;
       flex-direction: column !important;
       box-shadow: 0 25px 60px rgba(0, 0, 0, 0.95) !important;
   }

   @media(min-width: 768px) {
       .ai-pf-modal-content {
           flex-direction: row !important;
           height: 600px !important;
           max-height: 85vh !important;
       }
   }

   @media(max-width: 767px) {
       .ai-pf-modal-content {
           width: 100% !important;
           max-width: 440px !important;
           height: auto !important;
           max-height: calc(100dvh - 32px) !important;
           max-height: calc(100vh - 32px) !important;
           border-radius: 20px !important;
           margin: auto !important;
       }
   }

   .ai-pf-close {
       position: absolute !important;
       top: 20px !important;
       right: 20px !important;
       z-index: 100 !important;
       background: rgba(0, 0, 0, 0.6) !important;
       border: 1px solid rgba(255, 255, 255, 0.2) !important;
       color: white !important;
       width: 44px !important;
       height: 44px !important;
       min-width: 44px !important;
       max-width: 44px !important;
       min-height: 44px !important;
       max-height: 44px !important;
       aspect-ratio: 1 / 1 !important;
       padding: 0 !important;
       margin: 0 !important;
       box-sizing: border-box !important;
       border-radius: 50% !important;
       font-size: 24px !important;
       line-height: 1 !important;
       cursor: pointer !important;
       display: flex !important;
       align-items: center !important;
       justify-content: center !important;
       transition: all 0.25s ease !important;
   }

   @media(max-width: 767px) {
       .ai-pf-close {
           top: 10px !important;
           right: 10px !important;
           width: 36px !important;
           height: 36px !important;
           min-width: 36px !important;
           max-width: 36px !important;
           min-height: 36px !important;
           max-height: 36px !important;
           font-size: 18px !important;
           z-index: 220 !important;
       }
   }

   .ai-pf-close:hover {
       background: #f08716 !important;
       border-color: #f08716 !important;
       color: #0c0a09 !important;
       transform: rotate(90deg) !important;
   }

   .ai-pf-left {
       width: 100% !important;
       height: 190px !important;
       min-height: 190px !important;
       max-height: 190px !important;
       flex-shrink: 0 !important;
       background: black !important;
       position: relative !important;
       overflow: hidden !important;
   }

   @media(min-width: 768px) {
       .ai-pf-left {
           width: 55% !important;
           height: 100% !important;
           min-height: 0 !important;
           max-height: none !important;
           position: relative !important;
           overflow: hidden !important;
       }
   }

   video.ai-pf-video-main {
       width: 100% !important;
       height: 100% !important;
       object-fit: cover !important;
       position: absolute !important;
       inset: 0 !important;
   }

   .ai-pf-right {
       padding: 18px 20px 22px 20px !important;
       width: 100% !important;
       height: auto !important;
       flex: 1 1 auto !important;
       min-height: 0 !important;
       display: flex !important;
       flex-direction: column !important;
       justify-content: flex-start !important;
       align-items: flex-start !important;
       text-align: left !important;
       overflow-y: auto !important;
       -webkit-overflow-scrolling: touch !important;
       overscroll-behavior: contain !important;
   }

   @media(min-width: 768px) {
       .ai-pf-right {
           width: 45% !important;
           height: 100% !important;
           padding: 60px !important;
           justify-content: center !important;
       }
   }

   .ai-pf-tag {
       color: #f08716 !important;
       font-size: 0.72rem !important;
       letter-spacing: 0.12em !important;
       text-transform: uppercase !important;
       margin-bottom: 6px !important;
       font-weight: 700 !important;
       display: block;
   }

   @media(min-width: 768px) {
       .ai-pf-tag {
           font-size: 0.8rem !important;
           letter-spacing: 2px !important;
           margin-bottom: 20px !important;
       }
   }

   .ai-pf-h2 {
       font-family: 'Oswald', sans-serif !important;
       font-size: clamp(1.45rem, 5vw, 1.8rem) !important;
       color: white !important;
       margin: 0 0 10px 0 !important;
       line-height: 1.1 !important;
       text-transform: uppercase !important;
   }

   @media(min-width: 768px) {
       .ai-pf-h2 {
           font-size: 2.5rem !important;
       }
   }

   .ai-pf-p {
       color: #d6d3d1 !important;
       font-size: 0.88rem !important;
       line-height: 1.5 !important;
       margin-bottom: 14px !important;
   }

   @media(min-width: 768px) {
       .ai-pf-p {
           font-size: 1.1rem !important;
           line-height: 1.6 !important;
           margin-bottom: 30px !important;
       }
   }

   .ai-pf-meta {
       display: grid !important;
       grid-template-columns: 1fr 1fr !important;
       gap: 10px !important;
       border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
       padding-top: 10px !important;
       margin-bottom: 14px !important;
       width: 100% !important;
   }

   @media(min-width: 768px) {
       .ai-pf-meta {
           gap: 20px !important;
           padding-top: 20px !important;
       }
   }

   .ai-pf-meta-item strong {
       display: block !important;
       font-size: 0.68rem !important;
       color: #78716c !important;
       text-transform: uppercase !important;
       letter-spacing: 0.1em !important;
       font-weight: 600 !important;
       margin-bottom: 3px !important;
   }

   @media(min-width: 768px) {
       .ai-pf-meta-item strong {
           font-size: 0.75rem !important;
           margin-bottom: 5px !important;
       }
   }

   .ai-pf-meta-item span {
       color: #fff !important;
       font-weight: 600 !important;
       font-size: 0.82rem !important;
   }

   @media(min-width: 768px) {
       .ai-pf-meta-item span {
           font-size: 0.95rem !important;
           font-weight: 500 !important;
       }
   }

   .ai-pf-modal-btn {
       display: flex !important;
       align-items: center !important;
       justify-content: center !important;
       width: 100% !important;
       box-sizing: border-box !important;
       padding: 12px 20px !important;
       background: #f08716 !important;
       color: #fff !important;
       text-decoration: none !important;
       font-family: 'Oswald', sans-serif !important;
       font-size: 0.85rem !important;
       font-weight: 700 !important;
       text-transform: uppercase !important;
       letter-spacing: 0.05em !important;
       border-radius: 9999px !important;
       transition: all 0.3s ease !important;
       border: 1px solid #f08716 !important;
       text-align: center !important;
       margin-top: 8px !important;
       margin-bottom: 4px !important;
       flex-shrink: 0 !important;
   }

   @media(min-width: 768px) {
       .ai-pf-modal-btn {
           display: inline-block !important;
           width: fit-content !important;
           margin-top: 25px !important;
           padding: 12px 30px !important;
           font-size: 0.9rem !important;
           letter-spacing: 1px !important;
       }
   }

   .ai-pf-modal-btn:hover {
       background: #fff !important;
       color: #0c0a09 !important;
       border-color: #fff !important;
   }
   /* Scoped Root */
   .ai-services-section {
       width: 100% !important;
       background-color: #0c0a09 !important;
       padding: 80px 20px !important;
       font-family: 'Inter', sans-serif !important;
       box-sizing: border-box !important;
   }

   .ai-services-section * {
       box-sizing: border-box !important;
       margin: 0;
       padding: 0;
   }

   /* Container */
   .ai-services-container {
       max-width: 1536px !important;
       margin: 0 auto !important;
   }

   /* GRID */
   .ai-services-grid {
       display: grid !important;
       grid-template-columns: 1fr !important;
       gap: 24px !important;
       grid-auto-rows: auto !important;
   }

   @media (min-width: 768px) {
       .ai-services-grid {
           grid-template-columns: repeat(4, 1fr) !important;
           grid-template-rows: repeat(3, 270px) !important;
           grid-auto-rows: 270px !important;
           height: 860px !important;
       }

       .ai-srv-span-2 {
           grid-column: span 2 !important;
       }
   }

   /* CARDS */
   .ai-srv-card {
       position: relative !important;
       border-radius: 24px !important;
       border: 1px solid #292524 !important;
       overflow: hidden !important;
       background-color: #1c1917 !important;
       cursor: pointer !important;
       display: block !important;
       text-decoration: none !important;
       /* For Links */
       transition: border-color 0.3s ease !important;
   }

   @media (max-width: 767px) {
       .ai-srv-card:not(.ai-srv-header) {
           height: 260px !important;
       }
   }

   .ai-srv-card:hover {
       border-color: #f08716 !important;
   }

   /* Header Card */
   .ai-srv-header {
       background: radial-gradient(circle at top right, rgba(240, 135, 22, 0.05), transparent 50%), #1c1917 !important;
       display: flex !important;
       flex-direction: column !important;
       justify-content: center !important;
       padding: 40px !important;
       cursor: default !important;
   }

   @media (max-width: 767px) {
       .ai-srv-header {
           order: -1 !important;
           height: auto !important;
           min-height: auto !important;
           padding: 28px 20px !important;
           justify-content: flex-start !important;
       }
       .ai-srv-header .spicy-title-single {
           margin: 0 0 12px 0 !important;
       }
       .ai-srv-header .spicy-heading-svg {
           width: 100% !important;
           max-width: 100% !important;
           height: auto !important;
           display: block !important;
           overflow: visible !important;
       }
       .ai-srv-subtitle {
           font-size: 0.95rem !important;
           line-height: 1.55 !important;
           margin-bottom: 16px !important;
       }
   }

   .ai-srv-header:hover {
       border-color: #292524 !important;
   }

   /* TYPOGRAPHY */
   .ai-srv-title-main {
       font-family: 'Oswald', sans-serif !important;
       font-size: 2.5rem !important;
       font-weight: 700 !important;
       text-transform: uppercase !important;
       color: #fff !important;
       line-height: 1 !important;
       margin-bottom: 20px !important;
   }

   @media (min-width: 768px) {
       .ai-srv-title-main {
           font-size: 3.5rem !important;
       }
   }

   .ai-srv-subtitle {
       color: #a8a29e !important;
       font-size: 1.1rem !important;
       line-height: 1.6 !important;
       max-width: 100% !important;
   }

   .ai-srv-gradient {
       background: linear-gradient(90deg, #f08716, #e11d48, #d946ef, #6366f1) !important;
       -webkit-background-clip: text !important;
       background-clip: text !important;
       color: transparent !important;
   }

   /* CARD CONTENT */
   .ai-srv-bg {
       position: absolute !important;
       inset: 0 !important;
       width: 100% !important;
       height: 100% !important;
       object-fit: cover !important;
       opacity: 0.6 !important;
       transition: transform 0.5s !important;
       z-index: 1 !important;
   }

   .ai-srv-video-preview {
       position: absolute !important;
       inset: 0 !important;
       width: 100% !important;
       height: 100% !important;
       object-fit: cover !important;
       opacity: 0 !important;
       transition: opacity 0.5s ease !important;
       z-index: 2 !important;
   }

   .ai-srv-card:hover .ai-srv-bg {
       transform: scale(1.1) !important;
       opacity: 0 !important;
   }

   .ai-srv-card:hover .ai-srv-video-preview {
       opacity: 1 !important;
   }

   .ai-srv-content {
       position: absolute !important;
       bottom: 0 !important;
       left: 0 !important;
       width: 100% !important;
       padding: 30px !important;
       z-index: 10 !important;
       background: linear-gradient(to top, rgba(0, 0, 0, 0.9), transparent) !important;
       display: flex !important;
       flex-direction: column !important;
       justify-content: flex-end !important;
       height: 100% !important;
   }

   /* ICONS */
   .ai-srv-icon {
       display: none !important;
   }
   .spicy-top-index, .spicy-index, .spicy-count {
       display: none !important;
   }
   #spicy-reels-widget-v8 .spicy-content {
       justify-content: flex-end !important;
   }
   #spicy-reels-widget-v8 .spicy-bottom-info {
       margin-top: auto !important;
       width: 100% !important;
   }

   .ai-srv-icon svg {
       width: 24px !important;
       height: 24px !important;
       stroke: #ffffff !important;
       stroke-width: 2 !important;
       fill: none !important;
       transition: stroke 0.3s ease !important;
   }

   .ai-srv-card:hover .ai-srv-icon svg {
       stroke: #f08716 !important;
   }

   .ai-srv-name {
       font-family: 'Oswald', sans-serif !important;
       font-size: 1.4rem !important;
       color: #fff !important;
       text-transform: uppercase !important;
       margin-bottom: 5px !important;
       transition: color 0.3s ease !important;
   }

   .ai-srv-card:hover .ai-srv-name {
       color: #f08716 !important;
   }

   .ai-srv-desc {
       font-size: 0.9rem !important;
       color: #d6d3d1 !important;
   }
   /* Scoped Root to prevent conflicts */
   .ai-skills-section {
       width: 100% !important;
       background-color: #0c0a09 !important;
       padding: 80px 20px !important;
       font-family: 'Inter', sans-serif !important;
       box-sizing: border-box !important;
   }

   .ai-skills-section * {
       box-sizing: border-box !important;
       margin: 0;
       padding: 0;
   }

   /* Container */
   .ai-skills-container {
       max-width: 1536px !important;
       margin: 0 auto !important;
   }

   /* GRID SYSTEM (Bento) */
   .ai-skills-grid {
       display: grid !important;
       grid-template-columns: 1fr !important;
       gap: 24px !important;
       grid-auto-rows: 300px !important;
   }

   @media (min-width: 768px) {
       .ai-skills-grid {
           grid-template-columns: repeat(4, 1fr) !important;
           grid-template-rows: repeat(3, 270px) !important;
           height: 860px !important;
       }

       .ai-col-2 {
           grid-column: span 2 !important;
       }

       .ai-row-2 {
           grid-row: span 2 !important;
       }
   }

   /* CARDS */
   .ai-skill-card {
       position: relative !important;
       border-radius: 24px !important;
       border: 1px solid #292524 !important;
       overflow: hidden !important;
       background-color: #1c1917 !important;
       cursor: pointer !important;
       display: block !important;
       transition: border-color 0.3s ease !important;
   }

   .ai-skill-card:hover {
       border-color: #f08716 !important;
   }

   /* Header Card (Text Only) */
   .ai-skill-header {
       background: radial-gradient(circle at top right, rgba(240, 135, 22, 0.05), transparent 50%), #1c1917 !important;
       display: flex !important;
       flex-direction: column !important;
       justify-content: center !important;
       padding: 40px !important;
       cursor: default !important;
   }

   @media (max-width: 767px) {
       .ai-skill-header {
           order: -1 !important;
           height: auto !important;
           min-height: auto !important;
           padding: 28px 20px !important;
           justify-content: flex-start !important;
       }
       .ai-skill-header .spicy-title-single {
           margin: 0 0 12px 0 !important;
       }
       .ai-skill-header .spicy-heading-svg {
           width: 100% !important;
           max-width: 100% !important;
           height: auto !important;
           display: block !important;
           overflow: visible !important;
       }
       .ai-skill-subtitle {
           font-size: 0.95rem !important;
           line-height: 1.55 !important;
           margin-bottom: 16px !important;
       }
   }

   .ai-skill-header:hover {
       border-color: #292524 !important;
   }

   /* TYPOGRAPHY */
   .ai-skill-title-main {
       font-family: 'Oswald', sans-serif !important;
       font-size: 2.5rem !important;
       /* Mobile */
       font-weight: 700 !important;
       text-transform: uppercase !important;
       color: #fff !important;
       line-height: 1 !important;
       margin-bottom: 20px !important;
   }

   @media (min-width: 768px) {
       .ai-skill-title-main {
           font-size: 3.5rem !important;
       }
   }

   /* Desktop */

   .ai-skill-subtitle {
       color: #a8a29e !important;
       font-size: 1.1rem !important;
       line-height: 1.6 !important;
       max-width: 100% !important;
   }

   .ai-gradient-text {
       background: linear-gradient(90deg, #f08716, #e11d48, #d946ef, #6366f1) !important;
       -webkit-background-clip: text !important;
       background-clip: text !important;
       color: transparent !important;
   }

   /* CARD CONTENT */
   .ai-skill-bg {
       position: absolute !important;
       inset: 0 !important;
       width: 100% !important;
       height: 100% !important;
       object-fit: cover !important;
       opacity: 0.6 !important;
       transition: transform 0.5s !important;
       z-index: 1 !important;
   }

   .ai-skill-video-preview {
       position: absolute !important;
       inset: 0 !important;
       width: 100% !important;
       height: 100% !important;
       object-fit: cover !important;
       opacity: 0 !important;
       transition: opacity 0.5s ease !important;
       z-index: 2 !important;
   }

   .ai-skill-card:hover .ai-skill-bg {
       transform: scale(1.1) !important;
       opacity: 0 !important;
   }

   .ai-skill-card:hover .ai-skill-video-preview {
       opacity: 1 !important;
   }

   .ai-skill-content {
       position: absolute !important;
       bottom: 0 !important;
       left: 0 !important;
       width: 100% !important;
       padding: 30px !important;
       z-index: 10 !important;
       background: linear-gradient(to top, rgba(0, 0, 0, 0.9), transparent) !important;
       display: flex !important;
       flex-direction: column !important;
       justify-content: flex-end !important;
       height: 100% !important;
       pointer-events: none !important;
   }

   .ai-skill-name {
       font-family: 'Oswald', sans-serif !important;
       font-size: 1.4rem !important;
       color: #fff !important;
       text-transform: uppercase !important;
       margin-bottom: 5px !important;
       transition: color 0.3s ease !important;
   }

   .ai-skill-card:hover .ai-skill-name {
       color: #f08716 !important;
   }

   .ai-skill-desc-short {
       font-size: 0.9rem !important;
       color: #d6d3d1 !important;
   }

   /* ICONS */
   .ai-skill-icon {
       width: 48px !important;
       height: 48px !important;
       background: rgba(255, 255, 255, 0.1) !important;
       backdrop-filter: blur(8px) !important;
       border-radius: 12px !important;
       display: flex !important;
       align-items: center !important;
       justify-content: center !important;
       margin-bottom: auto !important;
   }

   .ai-skill-icon svg {
       width: 24px !important;
       height: 24px !important;
       stroke: #ffffff !important;
       stroke-width: 2 !important;
       fill: none !important;
       transition: stroke 0.3s ease !important;
   }

   .ai-skill-card:hover .ai-skill-icon svg {
       stroke: #f08716 !important;
   }

   /* MODAL */
   .ai-skills-modal-overlay {
       display: none;
       position: fixed !important;
       inset: 0 !important;
       width: 100vw !important;
       height: 100vh !important;
       height: 100dvh !important;
       z-index: 9999999 !important;
       background: rgba(12, 10, 9, 0.96) !important;
       backdrop-filter: blur(8px) !important;
       -webkit-backdrop-filter: blur(8px) !important;
       align-items: center !important;
       justify-content: center !important;
       overscroll-behavior: contain !important;
       padding: 16px !important;
       box-sizing: border-box !important;
   }

   .ai-skills-modal-overlay.active {
       display: flex !important;
   }

   .ai-skills-modal-content {
       width: 90% !important;
       max-width: 1000px !important;
       background: #1c1917 !important;
       border: 1px solid rgba(240, 135, 22, 0.35) !important;
       border-radius: 24px !important;
       overflow: hidden !important;
       position: relative !important;
       display: flex !important;
       flex-direction: column !important;
       box-shadow: 0 25px 60px rgba(0, 0, 0, 0.95) !important;
   }

   @media(min-width: 768px) {
       .ai-skills-modal-content {
           flex-direction: row !important;
           height: 600px !important;
           max-height: 85vh !important;
       }
   }

   @media(max-width: 767px) {
       .ai-skills-modal-content {
           width: 100% !important;
           max-width: 440px !important;
           height: auto !important;
           max-height: calc(100dvh - 32px) !important;
           max-height: calc(100vh - 32px) !important;
           border-radius: 20px !important;
           margin: auto !important;
       }
   }

   .ai-skills-close {
       position: absolute !important;
       top: 20px !important;
       right: 20px !important;
       z-index: 100 !important;
       background: rgba(0, 0, 0, 0.6) !important;
       border: 1px solid rgba(255, 255, 255, 0.2) !important;
       color: white !important;
       width: 44px !important;
       height: 44px !important;
       min-width: 44px !important;
       max-width: 44px !important;
       min-height: 44px !important;
       max-height: 44px !important;
       aspect-ratio: 1 / 1 !important;
       padding: 0 !important;
       margin: 0 !important;
       box-sizing: border-box !important;
       border-radius: 50% !important;
       font-size: 24px !important;
       line-height: 1 !important;
       cursor: pointer !important;
       display: flex !important;
       align-items: center !important;
       justify-content: center !important;
       transition: all 0.25s ease !important;
   }

   @media(max-width: 767px) {
       .ai-skills-close {
           top: 10px !important;
           right: 10px !important;
           width: 36px !important;
           height: 36px !important;
           min-width: 36px !important;
           max-width: 36px !important;
           min-height: 36px !important;
           max-height: 36px !important;
           font-size: 18px !important;
           z-index: 220 !important;
       }
   }

   .ai-skills-close:hover {
       background: #f08716 !important;
       border-color: #f08716 !important;
       color: #0c0a09 !important;
       transform: rotate(90deg) !important;
   }

   .ai-skills-left {
       width: 100% !important;
       height: 190px !important;
       min-height: 190px !important;
       max-height: 190px !important;
       flex-shrink: 0 !important;
       background: black !important;
       position: relative !important;
       overflow: hidden !important;
   }

   @media(min-width: 768px) {
       .ai-skills-left {
           width: 55% !important;
           height: 100% !important;
           min-height: 0 !important;
           max-height: none !important;
       }
   }

   .ai-skills-video {
       width: 100% !important;
       height: 100% !important;
       object-fit: cover !important;
       display: block !important;
   }

   .ai-skills-right {
       padding: 18px 20px 22px 20px !important;
       width: 100% !important;
       height: auto !important;
       flex: 1 1 auto !important;
       min-height: 0 !important;
       display: flex !important;
       flex-direction: column !important;
       justify-content: flex-start !important;
       align-items: flex-start !important;
       text-align: left !important;
       overflow-y: auto !important;
       -webkit-overflow-scrolling: touch !important;
       overscroll-behavior: contain !important;
   }

   @media(min-width: 768px) {
       .ai-skills-right {
           width: 45% !important;
           height: 100% !important;
           padding: 60px !important;
           justify-content: center !important;
       }
   }

   .ai-skills-tag {
       color: #f08716 !important;
       font-size: 0.72rem !important;
       letter-spacing: 0.12em !important;
       text-transform: uppercase !important;
       margin-bottom: 6px !important;
       font-weight: 700 !important;
       display: block;
   }

   @media(min-width: 768px) {
       .ai-skills-tag {
           font-size: 0.8rem !important;
           letter-spacing: 2px !important;
           margin-bottom: 20px !important;
       }
   }

   .ai-skills-h2 {
       font-family: 'Oswald', sans-serif !important;
       font-size: clamp(1.45rem, 5vw, 1.8rem) !important;
       color: white !important;
       margin: 0 0 10px 0 !important;
       line-height: 1.1 !important;
       text-transform: uppercase !important;
   }

   @media(min-width: 768px) {
       .ai-skills-h2 {
           font-size: 2.5rem !important;
       }
   }

   .ai-skills-p {
       color: #d6d3d1 !important;
       font-size: 0.88rem !important;
       line-height: 1.5 !important;
       margin-bottom: 14px !important;
   }

   @media(min-width: 768px) {
       .ai-skills-p {
           font-size: 1.1rem !important;
           line-height: 1.6 !important;
           margin-bottom: 30px !important;
       }
   }

   .ai-skills-list {
       width: 100% !important;
       margin: 0 0 14px 0 !important;
       padding: 0 !important;
       list-style: none !important;
       text-align: left !important;
   }

   .ai-skills-list li {
       display: flex !important;
       align-items: center !important;
       font-size: 0.84rem !important;
       margin-bottom: 6px !important;
       color: #a8a29e !important;
       justify-content: flex-start !important;
   }

   @media(min-width: 768px) {
       .ai-skills-list li {
           margin-bottom: 12px !important;
       }
   }

   .ai-skills-check {
       color: #f08716 !important;
       margin-right: 8px !important;
       font-weight: bold !important;
   }

   .ai-skills-btn {
       display: flex !important;
       align-items: center !important;
       justify-content: center !important;
       width: 100% !important;
       box-sizing: border-box !important;
       padding: 12px 20px !important;
       background: #f08716 !important;
       color: #ffffff !important;
       border: 1px solid #f08716 !important;
       text-transform: uppercase !important;
       text-decoration: none !important;
       font-family: 'Oswald', sans-serif !important;
       font-size: 0.85rem !important;
       font-weight: 700 !important;
       letter-spacing: 0.05em !important;
       border-radius: 9999px !important;
       transition: all 0.3s ease !important;
       margin-top: 8px !important;
       margin-bottom: 4px !important;
       flex-shrink: 0 !important;
       cursor: pointer !important;
   }

   @media(min-width: 768px) {
       .ai-skills-btn {
           display: inline-block !important;
           width: fit-content !important;
           padding: 12px 30px !important;
           align-self: center !important;
           margin-top: 20px !important;
           border-radius: 50px !important;
       }
   }

   .ai-skills-btn:hover {
       background: #ffffff !important;
       color: #0c0a09 !important;
       border-color: #ffffff !important;
       box-shadow: 0 0 20px rgba(240, 135, 22, 0.4) !important;
   }
   /* Reset & Base */
.ai-testi-section * { box-sizing: border-box !important; margin: 0; padding: 0; }
.ai-testi-section {
    width: 100% !important;
    background-color: #0c0a09 !important; /* Stone-950 */
    padding: 128px 24px !important;
    font-family: 'Inter', sans-serif !important;
    overflow: hidden !important;
    position: relative !important;
}

/* Container */
.ai-testi-container {
    max-width: 1536px !important; margin: 0 auto !important;
    padding: 0 24px !important;
}

/* Header */
.ai-testi-header { text-align: center !important; margin-bottom: 80px !important; }

.ai-testi-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 2.25rem !important; /* Mobile */
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    line-height: 1.1 !important;
    margin-bottom: 16px !important;
}
@media (min-width: 768px) { .ai-testi-title { font-size: 3.75rem !important; } }

.ai-testi-highlight { color: #f08716 !important; }

.ai-testi-subtitle {
    font-size: 1.125rem !important;
    color: #a8a29e !important; /* Stone-400 */
    max-width: 600px !important; margin: 0 auto !important;
}

/* Grid */
.ai-testi-grid {
    display: grid !important; grid-template-columns: 1fr !important; gap: 32px !important;
}
@media (min-width: 768px) {
    .ai-testi-grid { grid-template-columns: repeat(3, 1fr) !important; }
}

/* Card */
.ai-testi-card {
    background-color: rgba(28, 25, 23, 0.5) !important; /* Stone-900/50 */
    border: 1px solid #292524 !important; /* Stone-800 */
    border-radius: 24px !important;
    padding: 32px !important;
    position: relative !important;
    transition: all 0.3s ease !important;
    /* Animation Init State */
    opacity: 0; transform: translateY(30px);
}
.ai-testi-card.ai-visible { opacity: 1 !important; transform: translateY(0) !important; }
.ai-testi-card:hover { border-color: rgba(240, 135, 22, 0.3) !important; }

/* Quote Icon */
.ai-testi-quote-icon {
    width: 40px !important; height: 40px !important;
    color: rgba(240, 135, 22, 0.2) !important; /* Spicy Orange / 20 */
    margin-bottom: 24px !important; display: block !important;
}

/* Text */
.ai-testi-text {
    font-size: 1.125rem !important; line-height: 1.6 !important;
    color: #d6d3d1 !important; /* Stone-300 */
    font-style: italic !important; margin-bottom: 32px !important;
}

/* Author Info */
.ai-testi-author-box { display: flex !important; align-items: center !important; gap: 16px !important; }

.ai-testi-avatar-frame {
    width: 48px !important; height: 48px !important;
    border-radius: 50% !important; border: 1px solid #44403c !important;
    overflow: hidden !important; position: relative !important; flex-shrink: 0 !important;
}
.ai-testi-avatar {
    width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important;
}

.ai-testi-meta h4 {
    color: #ffffff !important; font-weight: 700 !important;
    text-transform: uppercase !important; font-size: 0.875rem !important;
    margin-bottom: 4px !important;
}
.ai-testi-meta p {
    color: #f08716 !important; font-size: 0.75rem !important;
    text-transform: uppercase !important; letter-spacing: 0.05em !important; font-weight: 500 !important;
}
#spicy-back-to-top {
            position: fixed;
            bottom: 30px;
            right: 30px;
            z-index: 9999;
            opacity: 0;
            visibility: hidden;
            transform: translateY(20px);
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            font-family: ui-sans-serif, system-ui, -apple-system, sans-serif;
        }
        #spicy-back-to-top.spicy-visible {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }
        .spicy-top-btn {
            width: 50px;
            height: 50px;
            border-radius: 50%;
            background: #1c1917;
            /* Stone-900 */
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: #f08716;
            /* Spicy Orange */
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
            position: relative;
            overflow: hidden;
            transition: all 0.3s ease;
        }
        /* The "Spicy" Glow Effect */
        .spicy-top-btn::before {
            content: '';
            position: absolute;
            inset: -2px;
            background: linear-gradient(45deg, #f08716, #fbbf24);
            z-index: -1;
            opacity: 0;
            transition: opacity 0.3s ease;
            filter: blur(8px);
        }
        .spicy-top-btn:hover {
            transform: translateY(-5px);
            color: white;
            background: #f08716;
            border-color: #f08716;
            box-shadow: 0 10px 20px rgba(240, 135, 22, 0.3);
        }
        .spicy-top-btn:hover::before {
            opacity: 0.6;
            /* Activate spicy aura */
        }
        /* Arrow Icon */
        .spicy-arrow {
            width: 20px;
            height: 20px;
            fill: none;
            stroke: currentColor;
            stroke-width: 2.5;
            stroke-linecap: round;
            stroke-linejoin: round;
            transition: transform 0.3s ease;
        }
        /* Launch Animation on Hover */
        .spicy-top-btn:hover .spicy-arrow {
            animation: spicyRocket 0.8s ease infinite;
        }
        @keyframes spicyRocket {
            0%,
            100% {
                transform: translateY(0);
            }
            50% {
                transform: translateY(-3px);
            }
        }
        /* Label (Tooltip) */
        .spicy-btn-label {
            position: absolute;
            right: 60px;
            background: #0c0a09;
            color: white;
            padding: 4px 8px;
            border-radius: 4px;
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            pointer-events: none;
            opacity: 0;
            transform: translateX(10px);
            transition: all 0.3s ease;
            white-space: nowrap;
        }
        #spicy-back-to-top:hover .spicy-btn-label {
            opacity: 1;
            transform: translateX(0);
        }
        /* --- SCOPED CSS: BASE LAYOUT (Original) --- */
       #spicy-hero-toggle-reportage-documentaire {
           font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
           width: 100%;
           height: 60vh; /* Increased slightly for toggle space */
           min-height: 500px;
           position: relative;
           overflow: hidden;
           background-color: #0c0a09;
           /* Radial Gradient (Static BG) */
           background-image: radial-gradient(circle at 50% 30%, #1c1917 0%, #0c0a09 70%);
           display: flex !important;
           flex-direction: column !important;
           align-items: center !important;
           justify-content: center !important;
           color: white;
           z-index: 1;
           user-select: none;
           transition: all 0.5s ease;
       }

       #spicy-hero-toggle-reportage-documentaire * { box-sizing: border-box; }

       /* --- CIRCLES ANIMATION (Original) --- */
       .spicy-circle-wrapper {
           position: absolute;
           left: 50%;
           top: 50%;
           transform: translate(-50%, -50%);
           display: flex;
           align-items: center;
           justify-content: center;
           pointer-events: none;
           z-index: 2; /* Behind content, above bg */
           transition: opacity 0.5s ease;
       }

       .wrapper-1 {
           width: 600px;
           height: 600px;
           animation: spicyPulse 15s ease-in-out infinite alternate;
       }

       .wrapper-2 {
           width: 900px;
           height: 900px;
           animation: spicyPulse 20s ease-in-out infinite alternate-reverse;
       }

       .spicy-graphic-circle {
           width: 100%;
           height: 100%;
           border-radius: 50%;
           border: 2px dashed rgba(255, 255, 255, 0.15);
       }

       .circle-1 {
           animation: spicySpin 60s linear infinite;
           opacity: 0.6 !important;
       }

       .circle-2 {
           animation: spicySpin 90s linear infinite reverse;
           opacity: 0.4 !important;
           border-style: solid;
           border-width: 1px;
           border-color: rgba(255, 255, 255, 0.1);
       }

       /* --- CONTENT TYPOGRAPHY (Original) --- */
       .spicy-typo-content {
           position: relative;
           z-index: 10;
           width: 100%;
           max-width: 1000px;
           text-align: center !important;
           padding: 0 20px;
           display: flex !important;
           flex-direction: column !important;
           align-items: center !important;
           justify-content: center !important;
       }

       .spicy-typo-badge {
           font-size: 0.875rem;
           text-transform: uppercase;
           letter-spacing: 0.4em;
           color: #d6d3d1;
           margin-bottom: 2rem;
           font-weight: 600;
           display: inline-block;
           padding: 0.5rem 1rem;
           border: 1px solid rgba(255, 255, 255, 0.1);
           border-radius: 9999px;
           background: rgba(255, 255, 255, 0.03);
       }

       .spicy-typo-title {
           font-size: 4rem;
           font-weight: 900;
           line-height: 0.9;
           text-transform: uppercase;
           margin: 0;
           letter-spacing: -0.03em;
           display: flex !important;
           flex-direction: column !important;
           align-items: center !important;
           width: 100%;
           transition: transform 0.8s ease;
       }

       @media (min-width: 768px) {
           .spicy-typo-title { font-size: 7.5rem; }
       }

       .spicy-text-outline {
           color: transparent;
           -webkit-text-stroke: 1px rgba(255, 255, 255, 0.5);
           transition: all 0.5s ease;
       }

       .spicy-text-gradient {
           background: linear-gradient(135deg, #ffffff 0%, #a8a29e 100%);
           -webkit-background-clip: text;
           -webkit-text-fill-color: transparent;
           transition: all 0.5s ease;
       }

       .spicy-text-highlight {
           background: linear-gradient(to right, #f08716, #fbbf24);
           -webkit-background-clip: text;
           -webkit-text-fill-color: transparent;
           filter: drop-shadow(0 0 20px rgba(240, 135, 22, 0.3));
       }

       .spicy-typo-separator {
           width: 60px;
           height: 4px;
           background: #f08716;
           margin: 2rem 0;
           border-radius: 2px;
       }

       .spicy-typo-tagline {
           font-size: 1.25rem;
           color: #a8a29e;
           max-width: 600px;
           font-weight: 400;
           line-height: 1.6;
           transition: opacity 0.3s ease;
       }

       /* --- ANIMATIONS (Original) --- */
       @keyframes spicyPulse {
           0% { transform: translate(-50%, -50%) scale(0.95); }
           100% { transform: translate(-50%, -50%) scale(1.15); }
       }

       @keyframes spicySpin {
           from { transform: rotate(0deg); }
           to { transform: rotate(360deg); }
       }

       /* --- TOGGLE FEATURES (New) --- */

       /* Video Background (Hidden by default) */
       .spicy-bg-video {
           position: absolute;
           inset: 0;
           opacity: 0;
           transition: opacity 1.5s ease-in-out;
           z-index: 1; /* Above static BG (0), below Circles (2) and Content (10) */
       }

       .spicy-bg-video video {
           width: 100%;
           height: 100%;
           object-fit: cover;
       }

       .spicy-overlay {
           position: absolute;
           inset: 0;
           background: rgba(0,0,0,0.6); /* Darkens video */
           z-index: 3;
           opacity: 0;
           transition: opacity 1s ease;
       }

       /* Switch UI */
       .spicy-switch-container {
           margin-top: 3rem;
           display: flex;
           flex-direction: column;
           align-items: center;
           gap: 1rem;
           z-index: 20;
       }

       .spicy-switch-label {
           font-size: 0.75rem;
           text-transform: uppercase;
           letter-spacing: 0.15em;
           color: #78716c;
           transition: color 0.3s;
       }

       .spicy-toggle-wrapper {
           position: relative;
           width: 80px;
           height: 40px;
           background: #292524;
           border-radius: 999px;
           border: 2px solid #44403c;
           cursor: pointer;
           transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
           box-shadow: inset 0 2px 4px rgba(0,0,0,0.5);
       }

       .spicy-toggle-knob {
           position: absolute;
           top: 2px;
           left: 2px;
           width: 32px;
           height: 32px;
           background: #78716c;
           border-radius: 50%;
           transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
           box-shadow: 0 2px 5px rgba(0,0,0,0.3);
       }

       /* --- ACTIVE STATE OVERRIDES --- */

       /* 1. Show Video */
       .is-active .spicy-bg-video { opacity: 1; }
       .is-active .spicy-overlay { opacity: 1; }

       /* 2. Hide Circles (Optional: looks cleaner on video) or Fade them */
       .is-active .spicy-circle-wrapper { opacity: 0.3; }

       /* 3. Transform Title (Rainbow Effect on ALL text) */
       .is-active .spicy-typo-title span {
           /* Override individual spans to unify them in the spicy gradient */
           color: transparent !important;
           -webkit-text-stroke: 0 !important;
           background: linear-gradient(to right, #f08716, #fbbf24, #f472b6, #3b82f6);
           background-size: 300% 100%;
           -webkit-background-clip: text;
           -webkit-text-fill-color: transparent;
           animation: spicyGradientMove 3s infinite linear;
           text-shadow: none;
           filter: drop-shadow(0 0 20px rgba(240, 135, 22, 0.5));
       }

       @keyframes spicyGradientMove {
           0% { background-position: 0% 50%; }
           50% { background-position: 100% 50%; }
           100% { background-position: 0% 50%; }
       }

       /* 4. Switch Active Styling */
       .is-active .spicy-toggle-wrapper {
           background: #f08716;
           border-color: #f08716;
           box-shadow: 0 0 20px rgba(240, 135, 22, 0.4);
       }

       .is-active .spicy-toggle-knob {
           transform: translateX(40px);
           background: white;
       }

       .is-active .spicy-switch-label {
           color: #f08716;
           font-weight: 700;
           text-shadow: 0 0 10px rgba(240, 135, 22, 0.5);
       }
       #spicy-service-detail {
                  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
                  color: #d6d3d1;
                  /* stone-300 */
                  background-color: #0c0a09;
                  /* stone-950 */
                  width: 100%;
                  box-sizing: border-box;
                  padding: 40px 0;
              }
              #spicy-service-detail * {
                  box-sizing: border-box;
              }
              #spicy-service-detail .spicy-container {
                  width: 100%;
                  max-width: 1280px;
                  margin: 0 auto;
                  padding: 0 24px;
              }
              /* Navigation */
              #spicy-service-detail .spicy-back-link {
                  display: inline-flex;
                  align-items: center;
                  gap: 0.5rem;
                  color: #78716c;
                  /* stone-500 */
                  text-decoration: none;
                  margin-bottom: 3rem;
                  transition: color 0.3s ease;
                  font-size: 1rem;
              }
              #spicy-service-detail .spicy-back-link:hover {
                  color: #f08716;
                  /* spicy-orange */
              }
              /* Layout Grid */
              #spicy-service-detail .spicy-grid {
                  display: grid;
                  grid-template-columns: 1fr;
                  gap: 3rem;
              }
              @media (min-width: 1024px) {
                  #spicy-service-detail .spicy-grid {
                      grid-template-columns: repeat(12, 1fr);
                  }
                  #spicy-service-detail .spicy-sidebar {
                      grid-column: span 4;
                  }
                  #spicy-service-detail .spicy-main {
                      grid-column: span 8;
                  }
              }
              /* Sidebar Card */
              #spicy-service-detail .spicy-sticky-card {
                  position: sticky;
                  top: 2rem;
                  background-color: #1c1917;
                  /* stone-900 */
                  border: 1px solid #292524;
                  /* stone-800 */
                  border-radius: 24px;
                  padding: 2rem;
                  margin-bottom: 2rem;
              }
              #spicy-service-detail .spicy-icon-box {
                  width: 4rem;
                  height: 4rem;
                  background-color: #292524;
                  /* stone-800 */
                  border-radius: 1rem;
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  margin-bottom: 1.5rem;
                  color: #f08716;
              }
              #spicy-service-detail .spicy-service-title {
                  font-size: 2.25rem;
                  /* text-4xl */
                  line-height: 2.5rem;
                  font-weight: 700;
                  text-transform: uppercase;
                  color: #ffffff;
                  margin: 0 0 1rem 0;
                  font-family: inherit;
              }
              #spicy-service-detail .spicy-service-short-desc {
                  font-size: 1.125rem;
                  /* text-lg */
                  color: #a8a29e;
                  /* stone-400 */
                  margin-bottom: 2rem;
                  line-height: 1.75;
              }
              #spicy-service-detail .spicy-cta-btn {
                  display: flex;
                  width: 100%;
                  align-items: center;
                  justify-content: center;
                  gap: 1rem;
                  padding: 1rem 1.5rem;
                  background-color: #ffffff;
                  color: #000000;
                  border-radius: 9999px;
                  font-weight: 700;
                  text-transform: uppercase;
                  letter-spacing: 0.1em;
                  text-decoration: none;
                  transition: all 0.3s ease;
                  cursor: pointer;
                  border: none;
              }
              #spicy-service-detail .spicy-cta-btn:hover {
                  background-color: #f08716;
                  color: #ffffff;
              }
              /* Why Choose Us List */
              #spicy-service-detail .spicy-benefits-card {
                  background-color: #1c1917;
                  border: 1px solid #292524;
                  border-radius: 24px;
                  padding: 2rem;
              }
              #spicy-service-detail .spicy-section-title {
                  font-size: 1.25rem;
                  font-weight: 700;
                  text-transform: uppercase;
                  color: #ffffff;
                  margin: 0 0 1.5rem 0;
              }
              #spicy-service-detail .spicy-benefit-item {
                  display: flex;
                  align-items: flex-start;
                  gap: 0.75rem;
                  color: #a8a29e;
                  margin-bottom: 1rem;
              }
              #spicy-service-detail .spicy-check-icon {
                  margin-top: 0.25rem;
                  width: 1.25rem;
                  height: 1.25rem;
                  border-radius: 50%;
                  background-color: rgba(240, 135, 22, 0.2);
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  flex-shrink: 0;
              }
              /* Main Content */
              #spicy-service-detail .spicy-hero-media {
                  position: relative;
                  width: 100%;
                  aspect-ratio: 16 / 9;
                  background-color: #1c1917;
                  border: 1px solid #292524;
                  border-radius: 24px;
                  overflow: hidden;
                  margin-bottom: 3rem;
                  cursor: pointer;
              }
              #spicy-service-detail .spicy-play-overlay {
                  position: absolute;
                  inset: 0;
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  background-color: rgba(28, 25, 23, 0.5);
                  transition: background-color 0.5s ease;
              }
              #spicy-service-detail .spicy-hero-media:hover .spicy-play-overlay {
                  background-color: rgba(28, 25, 23, 0.3);
              }
              #spicy-service-detail .spicy-play-btn {
                  width: 5rem;
                  height: 5rem;
                  border-radius: 50%;
                  background-color: rgba(240, 135, 22, 0.9);
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  transition: transform 0.3s ease;
              }
              #spicy-service-detail .spicy-hero-media:hover .spicy-play-btn {
                  transform: scale(1.1);
              }
              #spicy-service-detail .spicy-content-title {
                  font-size: 1.875rem;
                  /* text-3xl */
                  font-weight: 700;
                  text-transform: uppercase;
                  color: #ffffff;
                  margin: 0 0 1.5rem 0;
              }
              #spicy-service-detail .spicy-content-text {
                  font-size: 1.25rem;
                  /* text-xl */
                  color: #d6d3d1;
                  /* stone-300 */
                  line-height: 1.625;
                  margin-bottom: 4rem;
              }
              /* Process Steps */
              #spicy-service-detail .spicy-process-list {
                  display: flex;
                  flex-direction: column;
                  gap: 2rem;
                  margin-bottom: 4rem;
              }
              #spicy-service-detail .spicy-process-item {
                  display: flex;
                  gap: 1.5rem;
              }
              #spicy-service-detail .spicy-process-number {
                  flex-shrink: 0;
                  width: 3rem;
                  height: 3rem;
                  border-radius: 50%;
                  border: 1px solid #44403c;
                  /* stone-700 */
                  color: #78716c;
                  /* stone-500 */
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  font-family: monospace;
                  font-size: 1.125rem;
                  transition: all 0.3s ease;
              }
              #spicy-service-detail .spicy-process-item:hover .spicy-process-number {
                  border-color: #f08716;
                  color: #f08716;
              }
              #spicy-service-detail .spicy-process-title {
                  font-size: 1.25rem;
                  font-weight: 700;
                  text-transform: uppercase;
                  color: #ffffff;
                  margin: 0 0 0.5rem 0;
                  transition: color 0.3s ease;
              }
              #spicy-service-detail .spicy-process-item:hover .spicy-process-title {
                  color: #f08716;
              }
              #spicy-service-detail .spicy-process-desc {
                  color: #a8a29e;
                  line-height: 1.625;
                  margin: 0;
              }
              /* Features Grid */
              #spicy-service-detail .spicy-features-section {
                  margin-top: 4rem;
                  padding-top: 4rem;
                  border-top: 1px solid #292524;
              }
              #spicy-service-detail .spicy-features-grid {
                  display: grid;
                  grid-template-columns: 1fr;
                  gap: 1rem;
              }
              @media (min-width: 768px) {
                  #spicy-service-detail .spicy-features-grid {
                      grid-template-columns: repeat(2, 1fr);
                  }
              }
              #spicy-service-detail .spicy-feature-item {
                  display: flex;
                  align-items: center;
                  gap: 1rem;
                  padding: 1rem;
                  background-color: rgba(28, 25, 23, 0.5);
                  /* stone-900/50 */
                  border-radius: 0.75rem;
                  color: #a8a29e;
              }
              #spicy-service-detail .spicy-feature-text {
                  text-transform: uppercase;
                  font-size: 0.875rem;
                  font-weight: 700;
                  letter-spacing: 0.05em;
              }
              /* Gallery */
              #spicy-service-detail .spicy-gallery-grid {
                  margin-top: 4rem;
                  padding-top: 4rem;
                  border-top: 1px solid #292524;
                  display: grid;
                  grid-template-columns: repeat(3, 1fr);
                  gap: 1rem;
              }
              #spicy-service-detail .spicy-gallery-item {
                  aspect-ratio: 1;
                  position: relative;
                  overflow: hidden;
                  border-radius: 1rem;
              }
              #spicy-service-detail .spicy-gallery-img {
                  width: 100%;
                  height: 100%;
                  object-fit: cover;
                  transition: transform 0.5s ease;
              }
              #spicy-service-detail .spicy-gallery-item:hover .spicy-gallery-img {
                  transform: scale(1.1);
              }
              #spicy-skills-widget {
           font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
           background-color: transparent;
           /* Or #0c0a09 depending on integration */
           padding: 20px 0;
           color: #ffffff;
           box-sizing: border-box;
           width: 100%;
       }
       #spicy-skills-widget * {
           box-sizing: border-box;
       }
       #spicy-skills-container {
           display: flex;
           flex-wrap: wrap;
           gap: 12px;
           justify-content: center;
           /* Center items, or flex-start for left align */
       }
       .spicy-skill-pill {
           display: flex;
           align-items: center;
           background-color: #1c1917;
           /* bg-stone-900 */
           border: 1px solid #292524;
           /* border-stone-800 */
           border-radius: 9999px;
           /* Pill shape */
           padding: 10px 20px;
           transition: all 0.3s ease;
           cursor: pointer;
           user-select: none;
           min-width: fit-content;
           position: relative;
           /* For tooltip positioning */
       }
       .spicy-skill-pill:hover {
           border-color: #22d3ee;
           /* cyan-400 */
           background-color: rgba(34, 211, 238, 0.1);
           /* cyan bg tint */
           transform: translateY(-2px);
           box-shadow: 0 4px 12px rgba(34, 211, 238, 0.1);
       }
       .spicy-skill-icon {
           width: 20px;
           height: 20px;
           color: #22d3ee;
           /* cyan-400 */
           margin-right: 12px;
           flex-shrink: 0;
       }
       .spicy-skill-title {
           color: #e7e5e4;
           /* stone-200 */
           font-size: 0.875rem;
           /* 14px */
           font-weight: 700;
           letter-spacing: 0.05em;
           text-transform: uppercase;
           white-space: nowrap;
       }
       .spicy-skill-pill:hover .spicy-skill-title {
           color: #ffffff;
       }
       /* Tooltip / Mini Card */
       .spicy-skill-tooltip {
           position: absolute;
           bottom: 100%;
           left: 50%;
           transform: translateX(-50%) translateY(10px);
           background-color: #1c1917;
           /* bg-stone-900 */
           border: 1px solid #292524;
           /* border-stone-800 */
           padding: 1rem;
           border-radius: 12px;
           width: 200px;
           text-align: center;
           opacity: 0;
           visibility: hidden;
           transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
           pointer-events: none;
           z-index: 50;
           box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
           margin-bottom: 12px;
       }
       .spicy-skill-pill:hover .spicy-skill-tooltip {
           opacity: 1;
           visibility: visible;
           transform: translateX(-50%) translateY(0);
       }
       /* Tooltip Arrow */
       .spicy-skill-tooltip::after {
           content: "";
           position: absolute;
           top: 100%;
           left: 50%;
           margin-left: -6px;
           border-width: 6px;
           border-style: solid;
           border-color: #292524 transparent transparent transparent;
       }
       .spicy-tooltip-title {
           color: #22d3ee;
           font-weight: 700;
           text-transform: uppercase;
           font-size: 0.75rem;
           margin-bottom: 0.25rem;
           display: block;
       }
       .spicy-tooltip-desc {
           color: #d6d3d1;
           /* stone-300 */
           font-size: 0.75rem;
           line-height: 1.4;
           display: block;
       }
       /* STYLE GLOBAL */
.spicy-replica-container {
    background-color: #0c0a09; color: white;
    font-family: 'Inter', sans-serif;
    min-height: 100vh; padding-bottom: 8rem;
    box-sizing: border-box;
}
.spicy-replica-container * { box-sizing: border-box; }

/* HEADER */
.spicy-header {
    position: sticky; top: 0; z-index: 100;
    background: rgba(12, 10, 9, 0.95);
    backdrop-filter: blur(10px);
    padding: 3rem 1.5rem 2rem 1.5rem;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.spicy-title-main {
    font-family: 'Oswald', sans-serif; font-size: clamp(2.5rem, 5vw, 5rem);
    font-weight: 700; text-transform: uppercase; margin: 0 0 2rem 0; line-height: 0.9;
}
.spicy-accent { color: #f08716; }
.spicy-count { font-size: 0.5em; color: #a8a29e; vertical-align: top; font-weight: 900; }

/* FILTRES */
.spicy-filters { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.spicy-filter-btn {
    background: transparent;
    border: 1px solid #44403c;
    color: #a8a29e;
    padding: 0.75rem 2rem;
    border-radius: 999px;
    font-family: 'Inter', sans-serif; font-size: 0.75rem; font-weight: 700;
    letter-spacing: 0.15em; text-transform: uppercase; cursor: pointer;
    transition: all 0.2s;
}

/* ETAT HOVER (Juste Contour) */
.spicy-filter-btn:hover {
    background: transparent !important;
    border-color: white !important;
    color: white !important;
}

/* ETAT ACTIF (BLANC PUR FORCÉ) */
.spicy-filter-btn.active {
    background-color: #ffffff !important;
    color: #000000 !important;
    border-color: #ffffff !important;
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.3);
}

/* GRID */
.spicy-grid {
    display: grid; grid-template-columns: 1fr; gap: 2rem;
    padding: 2rem 1.5rem; max-width: 1400px; margin: 0 auto;
}
@media(min-width: 768px) { .spicy-grid { grid-template-columns: repeat(2, 1fr); } }
@media(min-width: 1200px) { .spicy-grid { grid-template-columns: repeat(3, 1fr); } }

/* CARTE */
.spicy-card {
    position: relative; display: block;
    width: 100%; aspect-ratio: 3/4;
    background: #1c1917; border-radius: 12px; overflow: hidden;
    text-decoration: none; cursor: pointer;
}

/* IMAGE */
.spicy-card-img {
    position: absolute; inset: 0;
    width: 100% !important; height: 100% !important; object-fit: cover !important;
    opacity: 0.9; transition: transform 0.6s ease, opacity 0.4s ease;
    z-index: 1; display: block;
}
.spicy-card:hover .spicy-card-img { transform: scale(1.05); opacity: 0; } /* Disparait pour laisser la vidéo */

/* VIDEO WRAPPER */
.spicy-card-video-wrap {
    position: absolute; inset: 0;
    z-index: 0; /* Derrière l'image au début */
    background: #000;
}
.spicy-card-video {
    width: 100%; height: 100%; object-fit: cover !important; display: block;
}

/* ICONE NAV */
.spicy-nav-icon {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    background: #f08716; width: 70px; height: 70px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: white; opacity: 0; transition: all 0.3s; z-index: 20;
    pointer-events: none; /* Laisse le clic passer */
}
.spicy-card:hover .spicy-nav-icon { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.spicy-nav-svg { width: 32px; height: 32px; stroke-width: 2.5; }

/* META REALISATIONS */
.spicy-card .spicy-meta {
    position: absolute; bottom: 0; left: 0; width: 100%;
    padding: 2.5rem 2rem 2rem 2rem;
    z-index: 30; pointer-events: none;
    background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, transparent 100%);
    transform: translateY(100%); transition: transform 0.4s;
}
.spicy-card:hover .spicy-meta { transform: translateY(0); }
.spicy-cat { color: #f08716; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; display: block; margin-bottom: 0.5rem; }
.spicy-proj-name { font-family: 'Oswald', sans-serif; font-size: 2rem; font-weight: 700; text-transform: uppercase; color: white; margin: 0; line-height: 1; }

.spicy-hidden { display: none !important; }

/* Reset */
.ai-photo-section * { box-sizing: border-box !important; margin: 0; padding: 0; }

.ai-photo-section {
    width: 100% !important;
    background-color: #0c0a09 !important; /* Stone-950 */
    color: #a8a29e !important;
    font-family: 'Inter', sans-serif !important;
    padding: 128px 24px !important;
    position: relative !important;
}

.ai-photo-container {
    max-width: 1536px !important; margin: 0 auto !important;
    display: flex !important; flex-direction: column !important; gap: 64px !important;
}
@media (min-width: 1024px) {
    .ai-photo-container { flex-direction: row !important; align-items: flex-start !important; }
}

/* --- SIDEBAR --- */
.ai-photo-sidebar { width: 100% !important; }
@media (min-width: 1024px) {
    .ai-photo-sidebar { width: 33.333% !important; position: sticky !important; top: 128px !important; }
}

.ai-cam-box {
    width: 64px !important; height: 64px !important;
    background: #1c1917 !important; border: 1px solid #292524 !important;
    border-radius: 16px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin-bottom: 32px !important; color: #f08716 !important;
}
.ai-photo-title {
    font-family: 'Oswald', sans-serif !important; font-size: 3rem !important; font-weight: 700 !important; text-transform: uppercase !important; color: #ffffff !important; line-height: 1 !important; margin-bottom: 24px !important;
}
@media (min-width: 768px) { .ai-photo-title { font-size: 4.5rem !important; } }
.ai-highlight { color: #f08716 !important; }
.ai-photo-desc { font-size: 1.125rem !important; line-height: 1.6 !important; color: #a8a29e !important; margin-bottom: 32px !important; }
.ai-bene-list { list-style: none !important; display: flex !important; flex-direction: column !important; gap: 16px !important; }
.ai-bene-item { display: flex !important; align-items: center !important; gap: 12px !important; color: #d6d3d1 !important; }
.ai-check {
    width: 20px !important; height: 20px !important; flex-shrink: 0 !important; background: rgba(240, 135, 22, 0.2) !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important;
}
.ai-check svg { width: 12px !important; height: 12px !important; stroke: #f08716 !important; }

/* --- GRID --- */
.ai-photo-grid-wrap { width: 100% !important; }
@media (min-width: 1024px) { .ai-photo-grid-wrap { width: 66.666% !important; } }

.ai-masonry { column-count: 1 !important; column-gap: 24px !important; }
@media (min-width: 640px) { .ai-masonry { column-count: 2 !important; } }

.ai-photo-item {
    break-inside: avoid !important; margin-bottom: 24px !important;
    position: relative !important; border-radius: 16px !important; overflow: hidden !important;
    cursor: pointer !important;
    transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
}
.ai-photo-img {
    width: 100% !important; height: auto !important; display: block !important;
    transform: none !important;
    transition: filter 0.3s ease !important;
}
.ai-photo-item:hover .ai-photo-img {
    transform: none !important;
    filter: brightness(1.06) !important;
}

.ai-photo-caption {
    position: absolute !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
    padding: 24px !important; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent) !important;
    opacity: 0 !important; transition: opacity 0.3s ease !important;
    display: flex !important; align-items: flex-end !important; pointer-events: none !important;
}
.ai-photo-item:hover .ai-photo-caption { opacity: 1 !important; }
.ai-caption-text {
    color: #ffffff !important; font-family: 'Oswald', sans-serif !important; text-transform: uppercase !important; font-size: 0.875rem !important; letter-spacing: 0.05em !important; font-weight: 500 !important;
}

/* --- LIGHTBOX STYLES --- */
.ai-lightbox {
    position: fixed !important; inset: 0 !important; z-index: 9999 !important;
    background: rgba(12, 10, 9, 0.95) !important; backdrop-filter: blur(10px) !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    opacity: 0 !important; pointer-events: none !important; transition: opacity 0.3s ease !important;
}
.ai-lightbox.active { opacity: 1 !important; pointer-events: auto !important; }

.ai-lightbox-img {
    max-width: 90vw !important; max-height: 90vh !important;
    object-fit: contain !important; border-radius: 8px !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;
}

.ai-close-btn {
    position: absolute !important; top: 32px !important; right: 32px !important;
    background: transparent !important; border: none !important; cursor: pointer !important;
    color: #ffffff !important; width: 48px !important; height: 48px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    transition: transform 0.2s ease, color 0.2s ease !important;
}
.ai-close-btn:hover { transform: scale(1.1) !important; color: #f08716 !important; }

/* Reset Global */
.ai-agency-wrapper * { box-sizing: border-box !important; margin: 0; padding: 0; }
.ai-agency-wrapper {
    width: 100% !important; background-color: #0c0a09 !important; color: #a8a29e !important;
    font-family: 'Inter', sans-serif !important; padding: 128px 24px !important;
    position: relative !important;
    overflow: hidden !important;
}
.ai-container {
    max-width: 1536px !important;
    margin: 0 auto !important;
    position: relative !important;
    z-index: 2 !important;
}

/* CARTE DU MONDE EN FOND SUBTILE & ÉTHÉRÉE */
.spicy-agency-map-backdrop {
    position: absolute !important;
    top: 60px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: 1536px !important;
    height: 780px !important;
    pointer-events: none !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.spicy-agency-map-svg {
    width: 100% !important;
    height: 100% !important;
    max-height: 780px !important;
    pointer-events: none !important;
    opacity: 0.95 !important;
}

.spicy-continents-vector {
    fill: rgba(240, 135, 24, 0.012) !important;
    stroke: #f08716 !important;
    stroke-width: 0.9px !important;
    stroke-linejoin: round !important;
    stroke-linecap: round !important;
    opacity: 0.38 !important;
}

.spicy-bg-loc {
    pointer-events: none !important;
}

.spicy-loc-core {
    fill: #f08716 !important;
    filter: drop-shadow(0 0 5px #f08716) !important;
}

.spicy-loc-halo {
    fill: #f08716 !important;
    opacity: 0.28 !important;
}

.spicy-loc-pulse {
    fill: none !important;
    stroke: #f08716 !important;
    stroke-width: 1px !important;
    opacity: 0.65 !important;
    transform-origin: center !important;
    animation: spicyMapLocPulse 3.5s cubic-bezier(0.4, 0, 0.6, 1) infinite !important;
}

@keyframes spicyMapLocPulse {
    0% {
        r: 3px;
        opacity: 0.8;
    }
    60% {
        r: 12px;
        opacity: 0.15;
    }
    100% {
        r: 16px;
        opacity: 0;
    }
}

@media (max-width: 768px) {
    .spicy-agency-map-backdrop {
        
        opacity: 0.65 !important;
    }
}

/* Typo Shared */
.ai-title-xl {
    font-family: 'Oswald', sans-serif !important; font-size: 3rem !important; font-weight: 700 !important;
    text-transform: uppercase !important; color: #ffffff !important; line-height: 1 !important; margin-bottom: 48px !important;
}
@media (min-width: 768px) { .ai-title-xl { font-size: 5rem !important; } }
.ai-title-center { text-align: center !important; }
.ai-orange { color: #f08716 !important; }
.ai-stroke { -webkit-text-stroke: 1px #57534e !important; color: transparent !important; }

/* --- 1. VISION --- */
.ai-vision-sec { margin-bottom: 160px !important; }
.ai-vision-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 48px !important; }
@media (min-width: 768px) { .ai-vision-grid { grid-template-columns: 1fr 1fr !important; } }
.ai-vision-text { font-size: 1.25rem !important; line-height: 1.6 !important; color: #d6d3d1 !important; font-weight: 300 !important; }

/* --- 2. TIMELINE (PIXEL PERFECT) --- */
.ai-timeline-sec { margin-bottom: 160px !important; position: relative !important; }

.ai-timeline-wrapper { position: relative !important; width: 100% !important; margin-top: 64px !important; }

/* Line Logic: Centered on the 16px dots */
.ai-time-line-bg {
    position: absolute !important; 
    top: 8px !important; /* Center of 16px height */
    left: 0 !important; right: 0 !important;
    height: 2px !important; background: #292524 !important; z-index: 1 !important;
    display: none !important;
}
@media (min-width: 1024px) { .ai-time-line-bg { display: block !important; } }

.ai-time-grid {
    display: grid !important; grid-template-columns: 1fr !important; gap: 32px !important; position: relative !important; z-index: 10 !important;
}
@media (min-width: 640px) { .ai-time-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (min-width: 1024px) { .ai-time-grid { grid-template-columns: repeat(7, 1fr) !important; } }

.ai-time-item {
    display: flex !important; flex-direction: column !important; align-items: center !important; cursor: pointer !important; position: relative !important;
}

/* Dot: w-4 h-4 (16px) */
.ai-time-dot {
    width: 16px !important; height: 16px !important; border-radius: 50% !important;
    background: #0c0a09 !important; border: 2px solid #57534e !important;
    margin-bottom: 32px !important; /* md:mb-8 */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 0 0 4px #0c0a09 !important; /* Gap effect for line intersection */
}
/* Active Dot */
.ai-time-item.active .ai-time-dot,
.ai-time-item:hover .ai-time-dot {
    background: #f08716 !important; border-color: #f08716 !important; transform: scale(1.5) !important;
}

/* Year */
.ai-time-year {
    font-family: 'Oswald', sans-serif !important; font-size: 1.5rem !important; font-weight: 700 !important;
    color: #57534e !important; /* Stone-600 */
    transition: all 0.3s ease !important;
}
.ai-time-item.active .ai-time-year,
.ai-time-item:hover .ai-time-year { color: #ffffff !important; }

/* Info Card (Floating) */
.ai-time-info {
    position: absolute !important; 
    top: 60px !important; left: 50% !important; transform: translateX(-50%) translateY(10px) !important;
    width: 200px !important; background: #1c1917 !important; border: 1px solid #292524 !important;
    padding: 16px !important; border-radius: 12px !important; text-align: center !important;
    opacity: 0 !important; pointer-events: none !important; transition: all 0.3s ease !important;
    z-index: 50 !important; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5) !important;
}

/* Mobile: Static position */
@media (max-width: 1023px) {
    .ai-time-info {
        position: static !important; width: 100% !important; transform: none !important; margin-top: 16px !important;
        display: none !important; opacity: 1 !important;
    }
    .ai-time-item.active .ai-time-info { display: block !important; }
}
/* Desktop: Hover/Active */
@media (min-width: 1024px) {
    .ai-time-item.active .ai-time-info { opacity: 1 !important; transform: translateX(-50%) translateY(0) !important; }
}

.ai-time-h { color: #f08716 !important; font-weight: 700 !important; text-transform: uppercase !important; font-size: 0.875rem !important; margin-bottom: 4px !important; display: block !important; }
.ai-time-p { font-size: 0.75rem !important; line-height: 1.4 !important; color: #d6d3d1 !important; }


/* --- 3. GALLERY --- */
.ai-gallery-sec { margin-bottom: 160px !important; }
.ai-gallery-sec .ai-masonry { column-count: 1 !important; column-gap: 24px !important; }
@media (min-width: 640px) { .ai-gallery-sec .ai-masonry { column-count: 2 !important; } }
@media (min-width: 1024px) { .ai-gallery-sec .ai-masonry { column-count: 4 !important; } }
.ai-gal-item {
    break-inside: avoid !important;
    margin-bottom: 24px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    position: relative !important;
    cursor: pointer !important;
}
.ai-gal-img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    transition: transform 0.5s ease, opacity 0.3s ease !important;
    opacity: 0.85 !important;
}
.ai-gal-item:hover .ai-gal-img {
    transform: scale(1.05) !important;
    opacity: 1 !important;
}
.ai-gal-item .ai-photo-caption {
    position: absolute !important;
    bottom: 14px !important;
    left: 10px !important;
    right: 10px !important;
    padding: 0 !important;
    background: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
    transform: translateY(6px) !important;
    pointer-events: none !important;
    z-index: 5 !important;
}
.ai-gal-item:hover .ai-photo-caption {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* --- 4. TEAM --- */
.ai-team-sec { margin-bottom: 160px !important; }
.ai-team-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 32px !important; }
@media (min-width: 768px) { .ai-team-grid { grid-template-columns: repeat(3, 1fr) !important; } }
.ai-team-card { text-align: center !important; }
.ai-team-img-box { position: relative !important; width: 100% !important; aspect-ratio: 3/4 !important; border-radius: 16px !important; overflow: hidden !important; background: #1c1917 !important; margin-bottom: 24px !important; }
.ai-img-base { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; transition: opacity 0.4s ease, transform 0.6s ease !important; }
.ai-img-n { z-index: 10 !important; opacity: 1 !important; filter: grayscale(100%) !important; }
.ai-img-c { z-index: 20 !important; opacity: 0 !important; transform: scale(1.1) !important; }
.ai-team-card:hover .ai-img-n { opacity: 0 !important; }
.ai-team-card:hover .ai-img-c { opacity: 1 !important; transform: scale(1) !important; }
.ai-member-n { font-family: 'Oswald', sans-serif !important; font-size: 1.5rem !important; color: #ffffff !important; text-transform: uppercase !important; }
.ai-member-r { color: #f08716 !important; font-size: 0.875rem !important; font-weight: 700 !important; letter-spacing: 0.15em !important; text-transform: uppercase !important; }

/* --- 5. GEAR --- */
.ai-gear-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 64px !important; border-top: 1px solid #292524 !important; padding-top: 64px !important; }
@media (min-width: 768px) { .ai-gear-grid { grid-template-columns: repeat(3, 1fr) !important; } }
.ai-gear-cat { font-family: 'Oswald', sans-serif !important; font-size: 1.5rem !important; color: #ffffff !important; margin-bottom: 32px !important; text-transform: uppercase !important; }
.ai-gear-list { list-style: none !important; }
.ai-gear-li { display: flex !important; justify-content: space-between !important; align-items: center !important; border-bottom: 1px solid #1c1917 !important; padding: 12px 0 !important; color: #a8a29e !important; font-family: 'Inter', sans-serif !important; font-size: 0.95rem !important; letter-spacing: 0.04em !important; transition: color 0.25s ease, padding-left 0.25s ease !important; }
.ai-gear-li:hover { color: #ffffff !important; padding-left: 6px !important; }
.ai-gear-dot { width: 6px !important; height: 6px !important; background: rgba(240, 135, 22, 0.5) !important; border-radius: 50% !important; transition: all 0.25s ease !important; }
.ai-gear-li:hover .ai-gear-dot { background: #f08716 !important; box-shadow: 0 0 10px rgba(240, 135, 22, 0.8) !important; transform: scale(1.3) !important; }

/* --- STYLES GLOBAUX DU BLOC --- */
.spicy-journal-container {
    background-color: #0c0a09; /* Fond noir profond */
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    padding: 4rem 1.5rem;
    max-width: 85%;
    margin: 0 auto;
}

/* --- TITRE PRINCIPAL --- */
.spicy-page-title {
    font-family: 'Oswald', sans-serif;
    font-size: 3.75rem; /* ~6xl */
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 5rem;
    line-height: 1;
}

@media (min-width: 768px) {
    .spicy-page-title {
        font-size: 6rem; /* ~8xl sur desktop */
    }
}

.text-spicy {
    color: #f08716; /* ORANGE SPICY */
}

/* --- BARRE DE FILTRES THÉMATIQUES --- */
.spicy-filters-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 4rem;
}
.spicy-filter-btn {
    background: #1c1917;
    border: 1px solid #292524;
    color: #a8a29e;
    font-family: 'Oswald', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 10px 24px;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 0.25s ease;
}
.spicy-filter-btn:hover {
    color: #ffffff;
    border-color: #57534e;
    background: #292524;
}
.spicy-filter-btn.active {
    background: #f08716;
    border-color: #f08716;
    color: #ffffff;
    box-shadow: 0 0 16px rgba(240, 135, 22, 0.4);
}
.spicy-article {
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.spicy-article.is-hidden {
    display: none !important;
}

/* --- GRILLE D'ARTICLES --- */
.spicy-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5rem 3rem; /* Espace vertical / horizontal */
}

@media (min-width: 768px) {
    .spicy-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 colonnes sur desktop */
    }
}

/* --- CARTE ARTICLE --- */
.spicy-article {
    display: flex;
    flex-direction: column;
    text-decoration: none; /* Enlève le soulignement des liens */
    group: article; /* Pour simuler le group hover */
}

/* IMAGE */
.spicy-thumb-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9; /* Format vidéo */
    border-radius: 1rem;
    overflow: hidden;
    margin-bottom: 2rem;
    border: 1px solid #292524;
    transition: border-color 0.5s ease;
}

.spicy-article:hover .spicy-thumb-wrapper {
    border-color: rgba(240, 135, 22, 0.5); /* Bordure orange au survol */
}

.spicy-thumb-wrapper img.spicy-thumb-img,
.spicy-thumb-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.7s ease;
}

.spicy-article:hover .spicy-thumb-img {
    transform: scale(1.05); /* Zoom lent */
}

/* META DATA (Date | Categorie) */
.spicy-article .spicy-meta,
.spicy-meta {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    background: transparent !important;
    pointer-events: auto !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: 'Inter', sans-serif;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #a8a29e;
    border-top: 1px solid #292524;
    padding-top: 1.25rem;
    margin-bottom: 0.75rem;
}
.spicy-article .text-spicy {
    color: #f08716 !important;
    font-weight: 700;
}

/* TITRE ARTICLE */
.spicy-article-title {
    font-family: 'Oswald', sans-serif;
    font-size: 2rem; /* ~3xl */
    font-weight: 700;
    text-transform: uppercase;
    color: white;
    margin: 0 0 1rem 0;
    transition: color 0.3s ease;
    line-height: 1.1;
}

@media (min-width: 768px) {
    .spicy-article-title {
        font-size: 2.25rem;
    }
}

.spicy-article:hover .spicy-article-title {
    color: #f08716; /* Titre devient orange */
}

/* EXTRAIT */
.spicy-excerpt {
    color: #a8a29e; /* Stone-400 */
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Coupe après 2 lignes */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* BOUTON LIRE LA SUITE */
.spicy-read-more {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: white;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    transition: gap 0.3s ease;
}

.spicy-article:hover .spicy-read-more {
    gap: 1rem; /* La flèche s'éloigne */
}

.spicy-arrow {
    color: #f08716;
    font-size: 1.2em; /* Taille flèche */
}
/* -----------------------------------------------------------
          SCOPED STYLES - FULL CONTACT PAGE
          Layout: Split Screen (Info/Map + Form)
          Standards: Grid-Enforced, Scoped Reset
          ----------------------------------------------------------- */

       #spicy-contact-full-page {
           font-family: 'Inter', system-ui, -apple-system, sans-serif;
           background-color: #0c0a09;
           color: white;
           width: 100%;
           max-width: 100%;
           display: flow-root;
       }

       #spicy-contact-full-page *,
       #spicy-contact-full-page *::before,
       #spicy-contact-full-page *::after {
           box-sizing: border-box;
           margin: 0;
           padding: 0;
       }

       #spicy-contact-full-page .spicy-contact-container {
           display: flex;
           flex-direction: column;
           width: 100%;
           min-height: 800px;
       }

       @media (min-width: 1024px) {
           #spicy-contact-full-page .spicy-contact-container {
               flex-direction: row;
           }
       }

       /* LEFT COL (INFO) */
       #spicy-contact-full-page .spicy-info-col {
           width: 100%;
           background-color: #171513;
           padding: 3rem 1.5rem;
           display: flex;
           flex-direction: column;
           justify-content: space-between;
           border-bottom: 1px solid rgba(255, 255, 255, 0.05);
       }

       @media (min-width: 1024px) {
           #spicy-contact-full-page .spicy-info-col {
               width: 50%;
               padding: 6rem;
               height: auto;
               border-right: 1px solid rgba(255, 255, 255, 0.05);
               border-bottom: none;
           }
       }

       #spicy-contact-full-page .spicy-hero-title {
           font-size: 3rem;
           font-weight: 800;
           text-transform: uppercase;
           line-height: 1;
           margin-bottom: 2rem;
       }

       @media (min-width: 768px) {
           #spicy-contact-full-page .spicy-hero-title {
               font-size: 4rem;
           }
       }

       #spicy-contact-full-page .spicy-text-orange {
           color: #f08716;
       }

       #spicy-contact-full-page .spicy-desc {
           color: #a8a29e;
           font-size: 1.1rem;
           line-height: 1.6;
           max-width: 450px;
           margin-bottom: 3rem;
       }

       #spicy-contact-full-page .spicy-details {
           display: flex;
           flex-direction: column;
           gap: 2rem;
           margin-bottom: 3rem;
       }

       #spicy-contact-full-page .spicy-detail-item {
           display: flex;
           align-items: flex-start;
           gap: 1rem;
       }

       #spicy-contact-full-page .spicy-icon {
           width: 24px;
           height: 24px;
           color: #f08716;
           margin-top: 4px;
           flex-shrink: 0;
       }

       #spicy-contact-full-page .spicy-detail-content h3 {
           font-weight: 700;
           text-transform: uppercase;
           font-size: 0.9rem;
           margin-bottom: 0.25rem;
       }

       #spicy-contact-full-page .spicy-detail-content p {
           color: #d6d3d1;
           line-height: 1.4;
       }

       /* RIGHT COL (FORM) */
       #spicy-contact-full-page .spicy-form-col {
           width: 100%;
           background-color: #0c0a09;
           padding: 3rem 1.5rem;
           display: flex;
           align-items: center;
       }

       @media (min-width: 1024px) {
           #spicy-contact-full-page .spicy-form-col {
               width: 50%;
               padding: 6rem;
           }
       }

       #spicy-contact-full-page form {
           width: 100%;
           max-width: 600px;
           margin: 0 auto;
       }

       #spicy-contact-full-page .spicy-input-group {
           position: relative;
           margin-bottom: 2.5rem;
       }

       #spicy-contact-full-page .spicy-input,
       #spicy-contact-full-page .spicy-textarea,
       #spicy-contact-full-page .spicy-select {
           display: block;
           width: 100%;
           padding: 1rem 0;
           font-size: 1.125rem;
           color: white;
           background: transparent;
           border: none;
           border-bottom: 2px solid #292524;
           border-radius: 0;
           appearance: none;
           outline: none;
           transition: all 0.3s ease;
       }

       #spicy-contact-full-page .spicy-input:focus,
       #spicy-contact-full-page .spicy-textarea:focus,
       #spicy-contact-full-page .spicy-select:focus {
           border-bottom-color: #f08716;
       }

       #spicy-contact-full-page .spicy-label {
           position: absolute;
           top: 1rem;
           left: 0;
           font-size: 1.125rem;
           color: #78716c;
           transition: all 0.3s ease;
           pointer-events: none;
       }

       #spicy-contact-full-page .spicy-input:focus~.spicy-label,
       #spicy-contact-full-page .spicy-input:not(:placeholder-shown)~.spicy-label,
       #spicy-contact-full-page .spicy-textarea:focus~.spicy-label,
       #spicy-contact-full-page .spicy-textarea:not(:placeholder-shown)~.spicy-label {
           top: -1.25rem;
           font-size: 0.875rem;
           color: #f08716;
       }

       #spicy-contact-full-page .spicy-select {
           color: #d6d3d1;
           cursor: pointer;
       }

       #spicy-contact-full-page .spicy-select option {
           background-color: #0c0a09;
           color: white;
           padding: 10px;
       }

       #spicy-contact-full-page .spicy-submit {
           display: inline-block;
           width: 100%;
           padding: 0.75rem 2rem;
           background: rgba(12, 10, 9, 0.8);
           color: #f08716;
           font-weight: 700;
           text-transform: uppercase;
           letter-spacing: 0.15em;
           border: 1px solid rgba(255, 78, 0, 0.5);
           border-radius: 9999px;
           cursor: pointer;
           transition: all 0.3s ease;
           text-align: center;
           backdrop-filter: blur(4px);
       }

       @media (min-width: 768px) {
           #spicy-contact-full-page .spicy-submit {
               width: auto;
           }
       }

       #spicy-contact-full-page .spicy-submit:hover {
           background: #f08716;
           color: white;
           border-color: #f08716;
           transform: translateY(-2px);
           box-shadow: 0 10px 20px -5px rgba(255, 78, 0, 0.3);
       }

       /* -----------------------------------------------------------
          EMBEDDED CINEMA MAP STYLES
          Theme: Warm, Friendly, Cinema Set, Video, Clean Arrow
          ----------------------------------------------------------- */

       /* MAP WRAPPER */
       #spicy-contact-full-page .spicy-map-wrapper {
           width: 100%;
           margin-top: auto;
       }

       /* CARD */
       /* CARD */
       #spicy-contact-full-page .spicy-viewfinder-card {
           position: relative;
           width: 100%;
           height: auto;
           aspect-ratio: 16 / 9;
           background-color: #000;
           border-radius: 12px;
           overflow: hidden;
           isolation: isolate;
           cursor: pointer;
           box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
       }

       /* No media query needed for height anymore as aspect-ratio handles it */

       /* BACKGROUND (Video + Golden Hour) */
       #spicy-contact-full-page .spicy-bg-video {
           position: absolute;
           inset: 0;
           width: 100%;
           height: 100%;
           object-fit: cover;
           z-index: 0;
           opacity: 0.8 !important;
           pointer-events: none;
       }

       #spicy-contact-full-page .spicy-bg-scene {
           position: absolute;
           inset: 0;
           background: linear-gradient(135deg, #2b1d12 0%, #4a2c20 40%, #854d2c 70%, #d97706 100%);
           background-size: 150% 150%;
           transition: transform 0.8s ease, filter 0.8s ease;
           z-index: 1;
           mix-blend-mode: overlay;
           opacity: 0.7;
           pointer-events: none;
       }

       #spicy-contact-full-page .spicy-bg-grain {
           position: absolute;
           inset: 0;
           background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");
           opacity: 0.4;
           z-index: 2;
           pointer-events: none;
       }

       #spicy-contact-full-page .spicy-viewfinder-card:hover .spicy-bg-scene {
           transform: scale(1.05);
           filter: blur(0px) brightness(1);
           background-position: 50% 50%;
       }

       /* UI OVERLAY */
       #spicy-contact-full-page .spicy-ui-layer {
           position: absolute;
           inset: 0;
           z-index: 10;
           padding: 2rem;
           display: flex;
           flex-direction: column;
           justify-content: space-between;
           color: rgba(255, 255, 255, 0.9);
           pointer-events: none;
       }

       #spicy-contact-full-page .spicy-rec-indicator {
           display: flex;
           align-items: center;
           gap: 0.5rem;
           font-size: 1rem;
           font-weight: 700;
           letter-spacing: 0.1em;
           text-transform: uppercase;
       }

       #spicy-contact-full-page .spicy-red-dot {
           width: 12px;
           height: 12px;
           background-color: #ff3b30;
           border-radius: 50%;
           animation: spicyBlink 2s infinite;
       }

       @keyframes spicyBlink {
           0% {
               opacity: 1;
           }

           50% {
               opacity: 0;
           }

           100% {
               opacity: 1;
           }
       }

       #spicy-contact-full-page .spicy-crop-marks {
           position: absolute;
           inset: 1.5rem;
           border: 2px solid rgba(255, 255, 255, 0.3);
           border-radius: 4px;
           pointer-events: none;
           -webkit-mask: conic-gradient(from 180deg at top 2px right 2px, #0000 90deg, #000 0) 0 0/20px 20px border-box no-repeat, conic-gradient(from 270deg at bottom 2px right 2px, #0000 90deg, #000 0) 100% 100%/20px 20px border-box no-repeat, conic-gradient(from 0deg at bottom 2px left 2px, #0000 90deg, #000 0) 0 100%/20px 20px border-box no-repeat, conic-gradient(from 90deg at top 2px left 2px, #0000 90deg, #000 0) 0 0/20px 20px border-box no-repeat;
           mask: conic-gradient(from 180deg at top 2px right 2px, #0000 90deg, #000 0) 0 0/20px 20px border-box no-repeat, conic-gradient(from 270deg at bottom 2px right 2px, #0000 90deg, #000 0) 100% 100%/20px 20px border-box no-repeat, conic-gradient(from 0deg at bottom 2px left 2px, #0000 90deg, #000 0) 0 100%/20px 20px border-box no-repeat, conic-gradient(from 90deg at top 2px left 2px, #0000 90deg, #000 0) 0 0/20px 20px border-box no-repeat;
       }

       #spicy-contact-full-page .spicy-center-cross {
           position: absolute;
           top: 50%;
           left: 50%;
           transform: translate(-50%, -50%);
           width: 40px;
           height: 40px;
           display: flex;
           align-items: center;
           justify-content: center;
           opacity: 0.5;
           transition: opacity 0.3s;
       }

       #spicy-contact-full-page .spicy-viewfinder-card:hover .spicy-center-cross {
           opacity: 1;
           color: #f08716;
       }

       #spicy-contact-full-page .spicy-cross-h {
           position: absolute;
           width: 100%;
           height: 1px;
           background: currentColor;
       }

       #spicy-contact-full-page .spicy-cross-v {
           position: absolute;
           height: 100%;
           width: 1px;
           background: currentColor;
       }

       /* CLEAN ARROW CTA (No Pastille) */
       #spicy-contact-full-page .spicy-arrow-cta {
           position: absolute;
           top: 2rem;
           right: 2rem;
           color: #f08716;
           z-index: 20;
           opacity: 0.8;
           transition: all 0.3s ease;
           filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
           /* Resetting box styles just in case */
           width: auto;
           height: auto;
           background: none;
           border: none;
           backdrop-filter: none;
       }

       #spicy-contact-full-page .spicy-viewfinder-card:hover .spicy-arrow-cta {
           opacity: 1;
           transform: translate(5px, -5px);
           color: #f08716;
       }

       #spicy-contact-full-page .spicy-arrow-icon {
           width: 32px;
           height: 32px;
           stroke-width: 3px;
       }

       /* INFO TEXT */
       #spicy-contact-full-page .spicy-scene-info {
           display: flex;
           justify-content: space-between;
           align-items: flex-end;
           text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
       }

       #spicy-contact-full-page .spicy-slugline {
           font-family: 'Courier New', Courier, monospace;
           font-size: 1.125rem;
           font-weight: 700;
           text-transform: uppercase;
           letter-spacing: 0.05em;
           margin-bottom: 0.25rem;
       }

       #spicy-contact-full-page .spicy-coords-cam {
           font-family: monospace;
           font-size: 0.75rem;
           opacity: 0.7;
       }

       #spicy-contact-full-page .spicy-camera-settings {
           text-align: right;
           font-size: 0.75rem;
           opacity: 0.8;
           line-height: 1.4;
           font-family: monospace;
       }

       #spicy-contact-full-page .spicy-setting-val {
           font-weight: 700;
           color: #ff9f43;
       }
       /* --- 1. HERO SECTION (STRICT OVERLAY) --- */
.spicy-hero {
    position: relative;
    height: 75vh; max-height: 720px; min-height: 480px; 
    width: 100%;
    overflow: hidden;
    /* Sécurité pour mobile */
    display: block;
}

/* BASE : Image en ARRIÈRE-PLAN ABSOLU (Force Overlay) */
.spicy-hero-img {
    position: absolute !important;
    top: 0; left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 1; /* Fond niveau 1 */
}

/* OVERLAY OMBRÉ */
.spicy-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #0c0a09 0%, rgba(12, 10, 9, 0.6) 60%, transparent 100%);
    z-index: 2; /* Ombre niveau 2 */
}

/* CONTENU TEXTE (PAR DESSUS) */
.spicy-hero-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10; /* Texte niveau 10 (Toujours au dessus) */
    
    /* PADDING MOBILE (Remonté) */
    padding: 0 1.5rem 5rem 1.5rem; 
    box-sizing: border-box;
    pointer-events: none; /* Laisse cliquer à travers zones vides */
}
/* Permet de cliquer sur les liens/boutons dans le hero */
.spicy-hero-content * { pointer-events: auto; }

/* PADDING DESKTOP (Plus haut) */
@media(min-width: 768px) {
    .spicy-hero-content { padding: 0 3rem 10rem 3rem; }
}

.spicy-container-inner { max-width: 1200px; margin: 0 auto; }
.spicy-back-link {
    display: inline-flex; align-items: center; gap: 0.5rem;
    color: rgba(255, 255, 255, 0.7); text-decoration: none;
    background: rgba(0, 0, 0, 0.3); backdrop-filter: blur(8px);
    padding: 0.5rem 1rem; border-radius: 999px;
    margin-bottom: 2rem; font-size: 0.875rem; transition: 0.3s;
}
.spicy-back-link:hover { color: #f08716; background: rgba(0, 0, 0, 0.6); }

/* TAGS (BADGES) */
.spicy-hero-tags {
    display: flex; align-items: center; gap: 1.5rem; margin-bottom: 1.5rem;
    font-size: 0.875rem; font-family: 'Inter', sans-serif; 
    text-transform: uppercase; letter-spacing: 0.1em; color: #f08716;
}
.spicy-tag-badge {
    display: inline-flex; align-items: center; gap: 0.5rem;
    background-color: rgba(240, 135, 22, 0.1);
    padding: 0.25rem 0.75rem; border-radius: 0.25rem;
}
.spicy-tag-badge svg { width: 14px; height: 14px; stroke-width: 2px; }

/* Titre & Sous-titre */
.spicy-hero-excerpt {
    font-size: 1.125rem; font-weight: 300; color: #d6d3d1;
    max-width: 800px; margin-top: 1.5rem; line-height: 1.6;
}
@media(min-width: 768px) { .spicy-hero-excerpt { font-size: 1.5rem; } }


/* --- NOTIFICATIONS SPICY --- */
.spicy-toast {
    position: fixed; bottom: 40px; left: 50%; transform: translateX(-50%) translateY(150px) scale(0.8);
    background: #f08716; color: white; padding: 1rem 2rem; border-radius: 4px; 
    font-family: 'Oswald', sans-serif; font-size: 1.2rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em;
    box-shadow: 0 20px 50px rgba(240, 135, 22, 0.3); opacity: 0; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 99999999; display: flex; align-items: center; gap: 1rem; pointer-events: none;
}
.spicy-toast.show { transform: translateX(-50%) translateY(0) scale(1); opacity: 1; }
.spicy-check-icon { width: 24px; height: 24px; stroke: white; stroke-width: 3px; }

/* --- LIGHTBOX --- */
.spicy-lightbox-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.95); z-index: 9999999; display: none;
    justify-content: center; align-items: center; opacity: 0; transition: opacity 0.3s ease;
}
.spicy-lightbox-overlay.active { display: flex; opacity: 1; }
.spicy-lightbox-img {
    max-width: 90%; max-height: 90vh; object-fit: contain; border-radius: 4px;
    box-shadow: 0 0 50px rgba(0,0,0,0.5); transform: scale(0.95); transition: transform 0.3s ease;
}
.spicy-lightbox-overlay.active .spicy-lightbox-img { transform: scale(1); }
.spicy-lightbox-close {
    position: absolute; top: 20px; right: 30px; color: white; font-size: 3rem;
    font-family: sans-serif; cursor: pointer; line-height: 1; transition: 0.3s;
}
.spicy-lightbox-close:hover { color: #f08716; }

/* --- GLOBAL LAYOUT --- */
.spicy-single-container {
    background-color: #0c0a09; color: #d6d3d1; font-family: 'Inter', sans-serif;
    margin: 0; padding: 0; overflow-x: hidden; line-height: 1.6;
}
.spicy-progress-container {
    position: fixed; top: 0; left: 0; width: 100%; height: 4px; background: transparent; z-index: 999999; pointer-events: none;
}
.spicy-progress-bar {
    height: 100%; background-color: #f08716; width: 0%; transition: width 0.1s linear;
}

/* --- CONTENT --- */
.spicy-content-wrapper {
    display: flex; flex-direction: column; gap: 3rem; padding: 3rem 1.5rem;
    max-width: 1200px; margin: 0 auto;
}
@media(min-width: 1024px) {
    .spicy-content-wrapper { flex-direction: row; gap: 5rem; padding: 5rem 1.5rem; }
}
.spicy-main-text { flex: 2; }
.spicy-main-text p { margin-bottom: 1.5rem; font-size: 1.125rem; line-height: 1.8; color:#d6d3d1; }
.spicy-main-text h2 { font-family: 'Oswald', sans-serif; font-size: 2rem; font-weight: 700; color: white; text-transform: uppercase; margin: 2.5rem 0 1.5rem 0; }
.spicy-sidebar { flex: 1; }
.spicy-sticky-box { position: sticky; top: 6rem; }
.spicy-sidebar-section { margin-bottom: 3rem; }
.spicy-sidebar-title { font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.15em; color: #78716c; margin-bottom: 1rem; display: block; border-bottom: 1px solid #292524; padding-bottom: 0.5rem; }

/* Share & Gallery */
.spicy-share-circle {
    width: 44px !important; height: 44px !important; min-width: 44px !important;
    border-radius: 50% !important; border: 1px solid rgba(255, 255, 255, 0.2) !important;
    background: transparent !important; display: flex !important; align-items: center !important;
    justify-content: center !important; padding: 0 !important; color: white !important; cursor: pointer; transition: 0.3s;
}
.spicy-share-circle:hover { border-color: #f08716 !important; color: #f08716 !important; transform: scale(1.1); }
.spicy-share-circle svg { width: 20px !important; height: 20px !important; fill: none !important; stroke: currentColor !important; stroke-width: 2px !important; }

.spicy-mini-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.spicy-mini-img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 4px; border: 1px solid #292524; transition: 0.3s; cursor: zoom-in; }
.spicy-mini-img:hover { transform: scale(1.05); border-color: #f08716; }

/* --- From global-3-photo.html --- */
/* Reset */
.ai-photo-section * { box-sizing: border-box !important; margin: 0; padding: 0; }

.ai-photo-section {
    width: 100% !important;
    background-color: #0c0a09 !important; /* Stone-950 */
    color: #a8a29e !important;
    font-family: 'Inter', sans-serif !important;
    padding: 128px 24px !important;
    position: relative !important;
}

.ai-photo-container {
    max-width: 1536px !important; margin: 0 auto !important;
    display: flex !important; flex-direction: column !important; gap: 64px !important;
}
@media (min-width: 1024px) {
    .ai-photo-container { flex-direction: row !important; align-items: flex-start !important; }
}

/* --- SIDEBAR --- */
.ai-photo-sidebar { width: 100% !important; }
@media (min-width: 1024px) {
    .ai-photo-sidebar { width: 33.333% !important; position: sticky !important; top: 128px !important; }
}

.ai-cam-box {
    width: 64px !important; height: 64px !important;
    background: #1c1917 !important; border: 1px solid #292524 !important;
    border-radius: 16px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin-bottom: 32px !important; color: #f08716 !important;
}
.ai-photo-title {
    font-family: 'Oswald', sans-serif !important; font-size: 3rem !important; font-weight: 700 !important; text-transform: uppercase !important; color: #ffffff !important; line-height: 1 !important; margin-bottom: 24px !important;
}
@media (min-width: 768px) { .ai-photo-title { font-size: 4.5rem !important; } }
.ai-highlight { color: #f08716 !important; }
.ai-photo-desc { font-size: 1.125rem !important; line-height: 1.6 !important; color: #a8a29e !important; margin-bottom: 32px !important; }
.ai-bene-list { list-style: none !important; display: flex !important; flex-direction: column !important; gap: 16px !important; }
.ai-bene-item { display: flex !important; align-items: center !important; gap: 12px !important; color: #d6d3d1 !important; }
.ai-check {
    width: 20px !important; height: 20px !important; flex-shrink: 0 !important; background: rgba(240, 135, 22, 0.2) !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important;
}
.ai-check svg { width: 12px !important; height: 12px !important; stroke: #f08716 !important; }

/* --- GRID --- */
.ai-photo-grid-wrap { width: 100% !important; }
@media (min-width: 1024px) { .ai-photo-grid-wrap { width: 66.666% !important; } }

.ai-masonry { column-count: 1 !important; column-gap: 24px !important; }
@media (min-width: 640px) { .ai-masonry { column-count: 2 !important; } }

.ai-photo-item {
    break-inside: avoid !important; margin-bottom: 24px !important;
    position: relative !important; border-radius: 16px !important; overflow: hidden !important;
    cursor: pointer !important;
    transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
}
.ai-photo-img {
    width: 100% !important; height: auto !important; display: block !important;
    transform: none !important;
    transition: filter 0.3s ease !important;
}
.ai-photo-item:hover .ai-photo-img {
    transform: none !important;
    filter: brightness(1.06) !important;
}

.ai-photo-caption {
    position: absolute !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
    padding: 24px !important; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent) !important;
    opacity: 0 !important; transition: opacity 0.3s ease !important;
    display: flex !important; align-items: flex-end !important; pointer-events: none !important;
}
.ai-photo-item:hover .ai-photo-caption { opacity: 1 !important; }
.ai-caption-text {
    color: #ffffff !important; font-family: 'Oswald', sans-serif !important; text-transform: uppercase !important; font-size: 0.875rem !important; letter-spacing: 0.05em !important; font-weight: 500 !important;
}

/* --- LIGHTBOX STYLES --- */
.ai-lightbox {
    position: fixed !important; inset: 0 !important; z-index: 9999 !important;
    background: rgba(12, 10, 9, 0.95) !important; backdrop-filter: blur(10px) !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    opacity: 0 !important; pointer-events: none !important; transition: opacity 0.3s ease !important;
}
.ai-lightbox.active { opacity: 1 !important; pointer-events: auto !important; }

.ai-lightbox-img {
    max-width: 90vw !important; max-height: 90vh !important;
    object-fit: contain !important; border-radius: 8px !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;
}

.ai-close-btn {
    position: absolute !important; top: 32px !important; right: 32px !important;
    background: transparent !important; border: none !important; cursor: pointer !important;
    color: #ffffff !important; width: 48px !important; height: 48px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    transition: transform 0.2s ease, color 0.2s ease !important;
}
.ai-close-btn:hover { transform: scale(1.1) !important; color: #f08716 !important; }
	

AGENCY TIMELINE SECTION CORRIGÉ V2

/* --- TIMELINE WRAPPER --- */
.ai-timeline-section {
width: 100% !important;
background-color: transparent !important; /* Arrière-plan transparent pour laisser transparaître la carte du monde subtile */
padding: 80px 24px !important;
font-family: 'Inter', sans-serif !important;
overflow: visible !important; /* Important pour les popups */
position: relative !important;
z-index: 2 !important;
}

.ai-timeline-container {
max-width: 1200px !important;
margin: 0 auto !important;
position: relative !important;
}

/* Titre Section */
.ai-timeline-title {
text-align: center !important;
font-family: 'Oswald', sans-serif !important;
font-size: 2.5rem !important;
color: #ffffff !important;
text-transform: uppercase !important;
margin-bottom: 80px !important;
}
.ai-text-orange { color: #f08716 !important; }

/* Desktop Grid */
.ai-timeline-grid {
display: flex !important;
justify-content: space-between !important;
position: relative !important;
padding-bottom: 160px !important; /* Espace confortable pour les cartes au survol */
}

/* La Ligne Horizontale */
.ai-timeline-line {
position: absolute !important;
top: 8px !important; /* Centre vertic. du point (16px/2) */
left: 0 !important; right: 0 !important;
height: 2px !important;
background: #292524 !important; /* Stone-800 */
z-index: 1 !important;
}

/* ITEM */
.ai-timeline-item {
position: relative !important;
display: flex !important;
flex-direction: column !important;
align-items: center !important;
cursor: pointer !important;
z-index: 10 !important;
width: 14% !important; /* 7 items = ~14% */
}

/* DOT */
.ai-timeline-dot {
width: 16px !important; height: 16px !important;
border-radius: 50% !important;
border: 2px solid #57534e !important; /* Stone-600 */
background: #0c0a09 !important; /* Stone-950 */
margin-bottom: 32px !important; /* Espace Point <-> Année */
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
position: relative !important;
z-index: 20 !important;
}

/* YEAR */
.ai-timeline-year {
font-family: 'Oswald', sans-serif !important;
font-size: 1.5rem !important;
font-weight: 700 !important;
color: #57534e !important; /* Stone-600 INACTIF */
transition: all 0.3s ease !important;
line-height: 1 !important;
}

/* CARD (INFO BULLE) - CORRECTION ICI */
.ai-timeline-card {
position: absolute !important;
top: 100% !important; /* Commence EXPLICITEMENT sous le conteneur (donc sous l'année) */
left: 50% !important;
transform: translateX(-50%) translateY(10px) !important;
width: 220px !important;
background: #1c1917 !important; /* Stone-900 */
border: 1px solid #292524 !important; /* Stone-800 */
border-radius: 12px !important;
padding: 20px !important;
text-align: center !important;
opacity: 0 !important;
visibility: hidden !important;
transition: all 0.3s ease !important;
box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
z-index: 100 !important;
pointer-events: none !important;
margin-top: 24px !important; /* MARGE DE SÉCURITÉ SUPPLÉMENTAIRE */
}

/* Contenu Carte */
.ai-card-title {
color: #f08716 !important;
font-size: 0.875rem !important;
font-weight: 700 !important;
text-transform: uppercase !important;
margin-bottom: 8px !important;
display: block !important;
}
.ai-card-desc {
color: #d6d3d1 !important; /* Stone-300 */
font-size: 0.8rem !important;
line-height: 1.4 !important;
margin: 0 !important;
}

/* --- INTERACTIONS --- */

/* Hover & Active Item */
.ai-timeline-item:hover .ai-timeline-dot,
.ai-timeline-item.active .ai-timeline-dot {
background: #f08716 !important;
border-color: #f08716 !important;
transform: scale(1.5) !important;
}
.ai-timeline-item:hover .ai-timeline-year,
.ai-timeline-item.active .ai-timeline-year {
color: #ffffff !important;
}
/* Show Card */
.ai-timeline-item:hover .ai-timeline-card,
.ai-timeline-item.active .ai-timeline-card {
opacity: 1 !important;
visibility: visible !important;
transform: translateX(-50%) translateY(0) !important;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
.ai-timeline-grid {
flex-direction: column !important;
align-items: flex-start !important;
padding-left: 24px !important;
border-left: 2px solid #292524 !important;
padding-bottom: 0 !important;
}
.ai-timeline-line { display: none !important; }
	.ai-timeline-item {
    flex-direction: row !important;
    width: 100% !important;
    margin-bottom: 32px !important;
    align-items: flex-start !important;
}

.ai-timeline-dot {
    position: absolute !important;
    left: -33px !important; /* Aligner sur la barre verticale */
    margin-bottom: 0 !important;
    top: 6px !important;
}

.ai-timeline-year {
    width: 60px !important;
    margin-right: 16px !important;
    font-size: 1.25rem !important;
}

/* Sur mobile, on affiche le contenu à côté ou dessous, pas en popup */
.ai-timeline-card {
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    margin-top: 8px !important;
    text-align: left !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.ai-card-desc { display: block !important; }
	}
	/* --- 3. GALLERY --- */
.ai-gallery-sec { margin-bottom: 160px !important; }
.ai-gallery-sec .ai-masonry { column-count: 1 !important; column-gap: 24px !important; }
@media (min-width: 640px) { .ai-gallery-sec .ai-masonry { column-count: 2 !important; } }
@media (min-width: 1024px) { .ai-gallery-sec .ai-masonry { column-count: 4 !important; } }
.ai-gal-item {
    break-inside: avoid !important;
    margin-bottom: 24px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    position: relative !important;
    cursor: pointer !important;
}
.ai-gal-img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    transition: transform 0.5s ease, opacity 0.3s ease !important;
    opacity: 0.85 !important;
}
.ai-gal-item:hover .ai-gal-img {
    transform: scale(1.05) !important;
    opacity: 1 !important;
}
.ai-gal-item .ai-photo-caption {
    position: absolute !important;
    bottom: 14px !important;
    left: 10px !important;
    right: 10px !important;
    padding: 0 !important;
    background: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
    transform: translateY(6px) !important;
    pointer-events: none !important;
    z-index: 5 !important;
}
.ai-gal-item:hover .ai-photo-caption {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* --- 4. TEAM --- */
.ai-team-sec { margin-bottom: 160px !important; }
.ai-team-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 32px !important; }
@media (min-width: 768px) { .ai-team-grid { grid-template-columns: repeat(3, 1fr) !important; } }
.ai-team-card { text-align: center !important; }
.ai-team-img-box { position: relative !important; width: 100% !important; aspect-ratio: 3/4 !important; border-radius: 16px !important; overflow: hidden !important; background: #1c1917 !important; margin-bottom: 24px !important; }
.ai-img-base { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; transition: opacity 0.4s ease, transform 0.6s ease !important; }
.ai-img-n { z-index: 10 !important; opacity: 1 !important; filter: grayscale(100%) !important; }
.ai-img-c { z-index: 20 !important; opacity: 0 !important; transform: scale(1.1) !important; }
.ai-team-card:hover .ai-img-n { opacity: 0 !important; }
.ai-team-card:hover .ai-img-c { opacity: 1 !important; transform: scale(1) !important; }
.ai-member-n { font-family: 'Oswald', sans-serif !important; font-size: 1.5rem !important; color: #ffffff !important; text-transform: uppercase !important; }
.ai-member-r { color: #f08716 !important; font-size: 0.875rem !important; font-weight: 700 !important; letter-spacing: 0.15em !important; text-transform: uppercase !important; }

/* --- 5. GEAR --- */
.ai-gear-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 64px !important; border-top: 1px solid #292524 !important; padding-top: 64px !important; }
@media (min-width: 768px) { .ai-gear-grid { grid-template-columns: repeat(3, 1fr) !important; } }
.ai-gear-cat { font-family: 'Oswald', sans-serif !important; font-size: 1.5rem !important; color: #ffffff !important; margin-bottom: 32px !important; text-transform: uppercase !important; }
.ai-gear-list { list-style: none !important; }
.ai-gear-li { display: flex !important; justify-content: space-between !important; align-items: center !important; border-bottom: 1px solid #1c1917 !important; padding: 12px 0 !important; color: #a8a29e !important; font-family: 'Inter', sans-serif !important; font-size: 0.95rem !important; letter-spacing: 0.04em !important; transition: color 0.25s ease, padding-left 0.25s ease !important; }
.ai-gear-li:hover { color: #ffffff !important; padding-left: 6px !important; }
.ai-gear-dot { width: 6px !important; height: 6px !important; background: rgba(240, 135, 22, 0.5) !important; border-radius: 50% !important; transition: all 0.25s ease !important; }
.ai-gear-li:hover .ai-gear-dot { background: #f08716 !important; box-shadow: 0 0 10px rgba(240, 135, 22, 0.8) !important; transform: scale(1.3) !important; }

	/* --- STYLES GLOBAUX DU BLOC --- */
.spicy-journal-container {
    background-color: #0c0a09; /* Fond noir profond */
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    padding: 4rem 1.5rem;
    max-width: 85%;
    margin: 0 auto;
}

/* --- TITRE PRINCIPAL --- */
.spicy-page-title {
    font-family: 'Oswald', sans-serif;
    font-size: 3.75rem; /* ~6xl */
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 5rem;
    line-height: 1;
}

@media (min-width: 768px) {
    .spicy-page-title {
        font-size: 6rem; /* ~8xl sur desktop */
    }
}

.text-spicy {
    color: #f08716; /* ORANGE SPICY */
}

/* --- BARRE DE FILTRES THÉMATIQUES --- */
.spicy-filters-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 4rem;
}
.spicy-filter-btn {
    background: #1c1917;
    border: 1px solid #292524;
    color: #a8a29e;
    font-family: 'Oswald', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 10px 24px;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 0.25s ease;
}
.spicy-filter-btn:hover {
    color: #ffffff;
    border-color: #57534e;
    background: #292524;
}
.spicy-filter-btn.active {
    background: #f08716;
    border-color: #f08716;
    color: #ffffff;
    box-shadow: 0 0 16px rgba(240, 135, 22, 0.4);
}
.spicy-article {
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.spicy-article.is-hidden {
    display: none !important;
}

/* --- GRILLE D'ARTICLES --- */
.spicy-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5rem 3rem; /* Espace vertical / horizontal */
}

@media (min-width: 768px) {
    .spicy-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 colonnes sur desktop */
    }
}

/* --- CARTE ARTICLE --- */
.spicy-article {
    display: flex;
    flex-direction: column;
    text-decoration: none; /* Enlève le soulignement des liens */
    group: article; /* Pour simuler le group hover */
}

/* IMAGE */
.spicy-thumb-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9; /* Format vidéo */
    border-radius: 1rem;
    overflow: hidden;
    margin-bottom: 2rem;
    border: 1px solid #292524;
    transition: border-color 0.5s ease;
}

.spicy-article:hover .spicy-thumb-wrapper {
    border-color: rgba(240, 135, 22, 0.5); /* Bordure orange au survol */
}

.spicy-thumb-wrapper img.spicy-thumb-img,
.spicy-thumb-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.7s ease;
}

.spicy-article:hover .spicy-thumb-img {
    transform: scale(1.05); /* Zoom lent */
}

/* META DATA (Date | Categorie) */
.spicy-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: 'Inter', sans-serif; /* Mono s'il y a, sinon Inter */
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #78716c; /* Stone-500 */
    border-top: 0px solid #292524;
    padding-top: 1.5rem;
    margin-bottom: 1rem;
}

/* TITRE ARTICLE */
.spicy-article-title {
    font-family: 'Oswald', sans-serif;
    font-size: 2rem; /* ~3xl */
    font-weight: 700;
    text-transform: uppercase;
    color: white;
    margin: 0 0 1rem 0;
    transition: color 0.3s ease;
    line-height: 1.1;
}

@media (min-width: 768px) {
    .spicy-article-title {
        font-size: 2.25rem;
    }
}

.spicy-article:hover .spicy-article-title {
    color: #f08716; /* Titre devient orange */
}

/* EXTRAIT */
.spicy-excerpt {
    color: #a8a29e; /* Stone-400 */
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Coupe après 2 lignes */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* BOUTON LIRE LA SUITE */
.spicy-read-more {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: white;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    transition: gap 0.3s ease;
}

.spicy-article:hover .spicy-read-more {
    gap: 1rem; /* La flèche s'éloigne */
}

.spicy-arrow {
    color: #f08716;
    font-size: 1.2em; /* Taille flèche */
}
	/* --- 1. HERO SECTION (ARTICLE BLOG) --- */
.spicy-hero {
    position: relative;
    height: 75vh; max-height: 720px; min-height: 480px; 
    width: 100%;
    overflow: hidden;
    /* Sécurité pour mobile */
    display: block;
}

/* BASE : Image en ARRIÈRE-PLAN ABSOLU (Force Overlay) */
.spicy-hero-img {
    position: absolute !important;
    top: 0; left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 1; /* Fond niveau 1 */
}

/* OVERLAY OMBRÉ */
.spicy-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #0c0a09 0%, rgba(12, 10, 9, 0.6) 60%, transparent 100%);
    z-index: 2; /* Ombre niveau 2 */
}

/* CONTENU TEXTE (PAR DESSUS) */
.spicy-hero-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10; /* Texte niveau 10 (Toujours au dessus) */
    
    /* PADDING MOBILE (Remonté) */
    padding: 0 1.5rem 5rem 1.5rem; 
    box-sizing: border-box;
    pointer-events: none; /* Laisse cliquer à travers zones vides */
}
/* Permet de cliquer sur les liens/boutons dans le hero */
.spicy-hero-content * { pointer-events: auto; }

/* PADDING DESKTOP (Plus haut) */
@media(min-width: 768px) {
    .spicy-hero-content { padding: 0 3rem 10rem 3rem; }
}

.spicy-container-inner { max-width: 1200px; margin: 0 auto; }
.spicy-back-link {
    display: inline-flex; align-items: center; gap: 0.5rem;
    color: rgba(255, 255, 255, 0.7); text-decoration: none;
    background: rgba(0, 0, 0, 0.3); backdrop-filter: blur(8px);
    padding: 0.5rem 1rem; border-radius: 999px;
    margin-bottom: 2rem; font-size: 0.875rem; transition: 0.3s;
}
.spicy-back-link:hover { color: #f08716; background: rgba(0, 0, 0, 0.6); }

/* TAGS (BADGES) */
.spicy-hero-tags {
    display: flex; align-items: center; gap: 1.5rem; margin-bottom: 1.5rem;
    font-size: 0.875rem; font-family: 'Inter', sans-serif; 
    text-transform: uppercase; letter-spacing: 0.1em; color: #f08716;
}
.spicy-tag-badge {
    display: inline-flex; align-items: center; gap: 0.5rem;
    background-color: rgba(240, 135, 22, 0.1);
    padding: 0.25rem 0.75rem; border-radius: 0.25rem;
}
.spicy-tag-badge svg { width: 14px; height: 14px; stroke-width: 2px; }

/* Titre & Sous-titre */
.spicy-hero-excerpt {
    font-size: 1.125rem; font-weight: 300; color: #d6d3d1;
    max-width: 800px; margin-top: 1.5rem; line-height: 1.6;
}
@media(min-width: 768px) { .spicy-hero-excerpt { font-size: 1.5rem; } }


/* --- NOTIFICATIONS SPICY --- */
.spicy-toast {
    position: fixed; bottom: 40px; left: 50%; transform: translateX(-50%) translateY(150px) scale(0.8);
    background: #f08716; color: white; padding: 1rem 2rem; border-radius: 4px; 
    font-family: 'Oswald', sans-serif; font-size: 1.2rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em;
    box-shadow: 0 20px 50px rgba(240, 135, 22, 0.3); opacity: 0; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 99999999; display: flex; align-items: center; gap: 1rem; pointer-events: none;
}
.spicy-toast.show { transform: translateX(-50%) translateY(0) scale(1); opacity: 1; }
.spicy-check-icon { width: 24px; height: 24px; stroke: white; stroke-width: 3px; }

/* --- LIGHTBOX --- */
.spicy-lightbox-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.95); z-index: 9999999; display: none;
    justify-content: center; align-items: center; opacity: 0; transition: opacity 0.3s ease;
}
.spicy-lightbox-overlay.active { display: flex; opacity: 1; }
.spicy-lightbox-img {
    max-width: 90%; max-height: 90vh; object-fit: contain; border-radius: 4px;
    box-shadow: 0 0 50px rgba(0,0,0,0.5); transform: scale(0.95); transition: transform 0.3s ease;
}
.spicy-lightbox-overlay.active .spicy-lightbox-img { transform: scale(1); }
.spicy-lightbox-close {
    position: absolute; top: 20px; right: 30px; color: white; font-size: 3rem;
    font-family: sans-serif; cursor: pointer; line-height: 1; transition: 0.3s;
}
.spicy-lightbox-close:hover { color: #f08716; }

/* --- GLOBAL LAYOUT --- */
.spicy-single-container {
    background-color: #0c0a09; color: #d6d3d1; font-family: 'Inter', sans-serif;
    margin: 0; padding: 0; overflow-x: hidden; line-height: 1.6;
}
.spicy-progress-container {
    position: fixed; top: 0; left: 0; width: 100%; height: 4px; background: transparent; z-index: 999999; pointer-events: none;
}
.spicy-progress-bar {
    height: 100%; background-color: #f08716; width: 0%; transition: width 0.1s linear;
}

/* --- CONTENT --- */
.spicy-content-wrapper {
    display: flex; flex-direction: column; gap: 3rem; padding: 3rem 1.5rem;
    max-width: 1200px; margin: 0 auto;
}
@media(min-width: 1024px) {
    .spicy-content-wrapper { flex-direction: row; gap: 5rem; padding: 5rem 1.5rem; }
}
.spicy-main-text { flex: 2; }
.spicy-main-text p { margin-bottom: 1.5rem; font-size: 1.125rem; line-height: 1.8; color:#d6d3d1; }
.spicy-main-text h2 { font-family: 'Oswald', sans-serif; font-size: 2rem; font-weight: 700; color: white; text-transform: uppercase; margin: 2.5rem 0 1.5rem 0; }
.spicy-sidebar { flex: 1; }
.spicy-sticky-box { position: sticky; top: 6rem; }
.spicy-sidebar-section { margin-bottom: 3rem; }
.spicy-sidebar-title { font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.15em; color: #78716c; margin-bottom: 1rem; display: block; border-bottom: 1px solid #292524; padding-bottom: 0.5rem; }

/* Share & Gallery */
.spicy-share-circle {
    width: 44px !important; height: 44px !important; min-width: 44px !important;
    border-radius: 50% !important; border: 1px solid rgba(255, 255, 255, 0.2) !important;
    background: transparent !important; display: flex !important; align-items: center !important;
    justify-content: center !important; padding: 0 !important; color: white !important; cursor: pointer; transition: 0.3s;
}
.spicy-share-circle:hover { border-color: #f08716 !important; color: #f08716 !important; transform: scale(1.1); }
.spicy-share-circle svg { width: 20px !important; height: 20px !important; fill: none !important; stroke: currentColor !important; stroke-width: 2px !important; }

.spicy-mini-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.spicy-mini-img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 4px; border: 1px solid #292524; transition: 0.3s; cursor: zoom-in; }
.spicy-mini-img:hover { transform: scale(1.05); border-color: #f08716; }

/* ==========================================================================
   PAGES LÉGALES & CONFORMITÉ : MENTIONS, CONFIDENTIALITÉ, COOKIES
   Theme : Pure Cinema Monochrome, Minimalist, Elegant, Precise Scale
   ========================================================================== */
.spicy-policy-page {
    width: 100% !important;
    max-width: 100% !important;
    background-color: #0c0a09 !important;
    color: #d6d3d1 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    padding: 3.5rem 1.5rem 5rem 1.5rem !important;
    display: flow-root !important;
}

.spicy-policy-page * {
    box-sizing: border-box !important;
}

.spicy-policy-container {
    max-width: 1040px !important;
    margin: 0 auto !important;
}

/* Header */
.spicy-policy-header {
    margin-bottom: 3rem !important;
    padding-bottom: 2rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    text-align: left !important;
}

.spicy-policy-badge {
    display: inline-block !important;
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: #a8a29e !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    margin-bottom: 1rem !important;
    background: rgba(255, 255, 255, 0.02) !important;
}

.spicy-policy-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 2.25rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.01em !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
    margin-bottom: 0.5rem !important;
}
@media (max-width: 768px) {
    .spicy-policy-title { font-size: 1.75rem !important; }
}

.spicy-policy-subtitle {
    font-size: 0.875rem !important;
    color: #a8a29e !important;
    line-height: 1.5 !important;
}

/* Grid Layout */
.spicy-policy-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
}
@media (min-width: 768px) {
    .spicy-policy-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Cards */
.spicy-policy-card {
    background: #12100f !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 8px !important;
    padding: 1.75rem !important;
    transition: border-color 0.25s ease, background-color 0.25s ease !important;
    position: relative !important;
}

.spicy-policy-card:hover {
    border-color: rgba(255, 255, 255, 0.2) !important;
    background: #161413 !important;
}

.spicy-policy-card.full-width {
    grid-column: 1 / -1 !important;
}

.spicy-card-topbar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 1.25rem !important;
}

.spicy-card-idx {
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.1em !important;
    color: rgba(255, 255, 255, 0.3) !important;
}

.spicy-card-heading {
    font-family: 'Inter', sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    letter-spacing: -0.01em !important;
}

.spicy-policy-card p {
    font-size: 0.875rem !important;
    line-height: 1.65 !important;
    color: #d6d3d1 !important;
    margin-bottom: 0.85rem !important;
}
.spicy-policy-card p:last-child {
    margin-bottom: 0 !important;
}

.spicy-policy-card ul {
    list-style: none !important;
    margin: 0.5rem 0 0.85rem 0 !important;
    padding: 0 !important;
}

.spicy-policy-card li {
    font-size: 0.875rem !important;
    line-height: 1.6 !important;
    color: #d6d3d1 !important;
    margin-bottom: 0.4rem !important;
    padding-left: 1.25rem !important;
    position: relative !important;
}

.spicy-policy-card li::before {
    content: "—" !important;
    position: absolute !important;
    left: 0 !important;
    color: #78716c !important;
}

/* Links (Strictly Monochrome - NO RED) */
.spicy-policy-card a,
.spicy-policy-page a {
    color: #ffffff !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(255, 255, 255, 0.35) !important;
    text-underline-offset: 3px !important;
    transition: text-decoration-color 0.2s ease, opacity 0.2s ease !important;
}
.spicy-policy-card a:hover,
.spicy-policy-page a:hover {
    text-decoration-color: #ffffff !important;
    opacity: 0.85 !important;
}

/* Key-Value Rows */
.spicy-kv-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 1rem !important;
    padding: 0.55rem 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    font-size: 0.85rem !important;
}
.spicy-kv-row:last-child {
    border-bottom: none !important;
}
.spicy-kv-label {
    color: #a8a29e !important;
    font-size: 0.775rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}
.spicy-kv-value {
    color: #ffffff !important;
    font-weight: 500 !important;
    text-align: right !important;
}

/* Policy Footer Note */
.spicy-policy-footer {
    margin-top: 3.5rem !important;
    padding-top: 1.5rem !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    font-size: 0.8rem !important;
    color: #78716c !important;
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
}

/* ==========================================================================
   SPECIFIC STYLES FOR COOKIES DASHBOARD (/cookies)
   ========================================================================== */
.spicy-cookie-status-banner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #141210 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    padding: 1rem 1.25rem !important;
    margin-bottom: 1.75rem !important;
    font-size: 0.85rem !important;
    color: #d6d3d1 !important;
}
.spicy-cookie-status-indicator {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
}
.spicy-cookie-dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #22c55e !important;
    display: inline-block !important;
}

.spicy-cookie-card {
    background: #12100f !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 8px !important;
    padding: 1.5rem !important;
    margin-bottom: 1.25rem !important;
    transition: all 0.25s ease !important;
}
.spicy-cookie-card.is-active {
    border-color: rgba(255, 255, 255, 0.25) !important;
}

.spicy-cookie-card-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 0.75rem !important;
    gap: 1rem !important;
}

.spicy-cookie-card-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
}

.spicy-cookie-badge {
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    color: #a8a29e !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.spicy-cookie-badge.active-badge {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    background: rgba(255, 255, 255, 0.12) !important;
}

/* REAL TOGGLE SWITCH (Pure Monochrome) */
.spicy-switch {
    position: relative !important;
    display: inline-block !important;
    width: 44px !important;
    height: 24px !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
}
.spicy-switch input {
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
}
.spicy-switch-track {
    position: absolute !important;
    cursor: pointer !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    background-color: #292524 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 24px !important;
    transition: all 0.25s ease !important;
}
.spicy-switch-track::before {
    position: absolute !important;
    content: "" !important;
    height: 16px !important;
    width: 16px !important;
    left: 3px !important;
    bottom: 3px !important;
    background-color: #78716c !important;
    border-radius: 50% !important;
    transition: all 0.25s ease !important;
}
.spicy-switch input:checked + .spicy-switch-track {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
}
.spicy-switch input:checked + .spicy-switch-track::before {
    transform: translateX(20px) !important;
    background-color: #0c0a09 !important;
}
.spicy-switch input:disabled + .spicy-switch-track {
    cursor: not-allowed !important;
    opacity: 0.5 !important;
}

/* Action Buttons (Strict Monochrome - NO RED) */
.spicy-cookie-actions {
    display: flex !important;
    gap: 0.75rem !important;
    margin-top: 2rem !important;
    flex-wrap: wrap !important;
}

.spicy-cookie-btn {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    padding: 0.75rem 1.25rem !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-align: center !important;
    border: 1px solid transparent !important;
}

.spicy-cookie-btn.btn-accept-all {
    background: #ffffff !important;
    color: #0c0a09 !important;
    border-color: #ffffff !important;
}
.spicy-cookie-btn.btn-accept-all:hover {
    background: #e7e5e4 !important;
    color: #000000 !important;
}

.spicy-cookie-btn.btn-save {
    background: #1c1917 !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}
.spicy-cookie-btn.btn-save:hover {
    background: #292524 !important;
    border-color: #ffffff !important;
}

.spicy-cookie-btn.btn-refuse {
    background: transparent !important;
    color: #a8a29e !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.spicy-cookie-btn.btn-refuse:hover {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

/* Sleek Toast (Strictly No Giant SVG) */
#spicy-cookie-notice {
    display: none;
    position: fixed !important;
    bottom: 24px !important;
    right: 24px !important;
    max-width: 360px !important;
    background: #1c1917 !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
    padding: 12px 18px !important;
    border-radius: 6px !important;
    font-size: 0.85rem !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6) !important;
    z-index: 99999 !important;
    align-items: center !important;
    gap: 10px !important;
}
#spicy-cookie-notice.is-visible {
    display: flex !important;
    animation: spicyFadeIn 0.3s ease !important;
}
@keyframes spicyFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* --- AGENCY NARRATIVE SECTION (HISTOIRE DÉTAILLÉE) --- */
.ai-narrative-sec {
    margin-top: 60px !important;
    margin-bottom: 140px !important;
}
.ai-narrative-header {
    margin-bottom: 48px !important;
}
.ai-narrative-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    margin-bottom: 32px !important;
}
@media (min-width: 992px) {
    .ai-narrative-grid {
        grid-template-columns: 1fr 1fr !important;
    }
}
.ai-narrative-card {
    background: #141210 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 16px !important;
    padding: 36px 32px !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.ai-narrative-card:hover {
    border-color: rgba(240, 135, 22, 0.35) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4) !important;
}
.ai-narrative-date {
    display: flex !important;
    align-items: baseline !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
    font-family: 'Oswald', sans-serif !important;
    text-transform: uppercase !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding-bottom: 12px !important;
}
.ai-date-num {
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: #a8a29e !important;
    letter-spacing: 0.08em !important;
}
.ai-date-sep {
    color: #57534e !important;
    font-size: 1rem !important;
}
.ai-date-label {
    font-size: 0.85rem !important;
    font-weight: 400 !important;
    color: #78716c !important;
    letter-spacing: 0.12em !important;
}
.ai-narrative-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 1.55rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    line-height: 1.25 !important;
    margin-bottom: 18px !important;
}
.ai-narrative-text {
    font-size: 1rem !important;
    line-height: 1.7 !important;
    color: #d6d3d1 !important;
    margin-bottom: 14px !important;
    font-weight: 300 !important;
}
.ai-narrative-highlight {
    background: rgba(28, 25, 23, 0.5) !important;
    border-left: 2px solid #57534e !important;
    padding: 14px 18px !important;
    border-radius: 0 8px 8px 0 !important;
    margin: 16px 0 !important;
    font-size: 0.95rem !important;
    color: #d6d3d1 !important;
    line-height: 1.6 !important;
}
.ai-formats-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 16px 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
}
.ai-format-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    color: #e7e5e4 !important;
    font-size: 0.95rem !important;
}
.ai-format-dot {
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: #78716c !important;
    flex-shrink: 0 !important;
}

/* Bloc Futur Pleine Largeur */
.ai-future-card {
    background: #141210 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 16px !important;
    padding: 38px 32px !important;
    position: relative !important;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.ai-future-card:hover {
    border-color: rgba(255, 255, 255, 0.16) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4) !important;
}
.ai-future-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    margin-top: 24px !important;
}
@media (min-width: 768px) {
    .ai-future-grid {
        grid-template-columns: 1fr 1fr !important;
    }
}
.ai-future-subcard {
    background: rgba(12, 10, 9, 0.65) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    transition: border-color 0.3s ease, transform 0.3s ease !important;
}
.ai-future-subcard:hover {
    border-color: rgba(255, 255, 255, 0.2) !important;
    transform: translateY(-2px) !important;
}
.ai-future-subcard-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 1.35rem !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    margin-bottom: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}
.ai-future-badge-tag {
    font-size: 0.75rem !important;
    color: #78716c !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

/* --- ERA BLOCKS (ALTERNANCE TEXTE & PHOTOS D'ARCHIVES) --- */
.ai-era-block {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 40px !important;
    background: #141210 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 20px !important;
    padding: 44px !important;
    margin-bottom: 40px !important;
    align-items: stretch !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.ai-era-block:hover {
    border-color: rgba(255, 255, 255, 0.16) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5) !important;
}
@media (min-width: 1024px) {
    .ai-era-block {
        grid-template-columns: 1fr 1fr !important;
        gap: 56px !important;
    }
    .ai-era-block.ai-era-reverse .ai-era-gallery {
        order: 1 !important;
    }
    .ai-era-block.ai-era-reverse .ai-era-content {
        order: 2 !important;
    }
}
@media (max-width: 1023px) {
    .ai-era-block {
        padding: 28px 20px !important;
    }
}

/* Grilles de photos par époque */
.ai-archive-grid {
    display: grid !important;
    gap: 16px !important;
}
.ai-grid-inde {
    grid-template-columns: 1fr 1fr !important;
}
.ai-grid-prod {
    grid-template-columns: 1fr 1fr !important;
}
.ai-photo-wide {
    grid-column: 1 / -1 !important;
}

/* Carte Photo individuelle Archives */
.ai-archive-grid .ai-photo-item {
    position: relative !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #0c0a09 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    aspect-ratio: 4 / 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.ai-archive-grid .ai-photo-wide {
    aspect-ratio: 21 / 9 !important;
}
@media (max-width: 640px) {
    .ai-archive-grid .ai-photo-wide {
        aspect-ratio: 16 / 9 !important;
    }
}
.ai-archive-grid .ai-photo-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transform: none !important;
    transition: filter 0.3s ease !important;
    filter: brightness(0.95) contrast(1.05) !important;
}
.ai-archive-grid .ai-photo-item:hover .ai-photo-img {
    transform: none !important;
    filter: brightness(1.06) contrast(1.08) !important;
}
.ai-archive-grid .ai-photo-caption {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 10px 14px !important;
    background: linear-gradient(to top, rgba(12, 10, 9, 0.95) 0%, rgba(12, 10, 9, 0) 100%) !important;
    color: #e7e5e4 !important;
    font-size: 0.75rem !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    opacity: 0 !important;
    transform: translateY(4px) !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
    pointer-events: none !important;
}
.ai-archive-grid .ai-photo-item:hover .ai-photo-caption {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Emplacements Placeholders (Pour les futures photos) */
.ai-photo-placeholder {
    background: rgba(18, 16, 14, 0.6) !important;
    border: 1px dashed rgba(255, 255, 255, 0.14) !important;
    transition: border-color 0.3s ease, background 0.3s ease !important;
}
.ai-photo-placeholder:hover {
    border-color: rgba(255, 255, 255, 0.3) !important;
    background: rgba(28, 25, 23, 0.6) !important;
}
.ai-placeholder-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 16px !important;
    color: #78716c !important;
    gap: 6px !important;
}
.ai-placeholder-icon {
    width: 24px !important;
    height: 24px !important;
    color: #57534e !important;
}
.ai-placeholder-inner span {
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #a8a29e !important;
}
.ai-placeholder-inner small {
    font-size: 0.72rem !important;
    color: #78716c !important;
    font-family: 'Inter', sans-serif !important;
}

/* --- PLATFORM ANAMORPHIC SCREENS (HORIZON 2027) --- */
.ai-platform-screen {
    display: block !important;
    text-decoration: none !important;
    cursor: pointer !important;
    margin-top: 20px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #0c0a09 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.ai-platform-screen:hover {
    border-color: rgba(240, 135, 22, 0.4) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.6) !important;
}
.ai-future-subcard:hover .ai-platform-screen {
    border-color: rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.5) !important;
}
.ai-screen-bar {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 12px !important;
    background: rgba(28, 25, 23, 0.7) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}
.ai-screen-dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #57534e !important;
    opacity: 0.6 !important;
}
.ai-screen-url {
    margin-left: 8px !important;
    font-size: 0.72rem !important;
    font-family: monospace !important;
    color: #a8a29e !important;
    letter-spacing: 0.05em !important;
    transition: color 0.3s ease !important;
}
.ai-platform-screen:hover .ai-screen-url {
    color: #f08716 !important;
}
.ai-screen-frame {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 21 / 9 !important;
    overflow: hidden !important;
    background: #000000 !important;
}
@media (max-width: 640px) {
    .ai-screen-frame {
        aspect-ratio: 16 / 9 !important;
    }
}
.ai-screen-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
    display: block !important;
    transition: transform 0.5s ease, filter 0.5s ease !important;
    filter: brightness(0.9) contrast(1.05) !important;
}
.ai-platform-screen:hover .ai-screen-img,
.ai-future-subcard:hover .ai-screen-img {
    transform: scale(1.04) !important;
    filter: brightness(1) contrast(1.1) !important;
}
.ai-future-title-link {
    color: #ffffff !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}
.ai-future-title-link:hover {
    color: #f08716 !important;
}
.ai-platform-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 16px !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    color: #f08716 !important;
    text-decoration: none !important;
    transition: color 0.25s ease, transform 0.25s ease !important;
}
.ai-platform-link:hover {
    color: #fbbf24 !important;
    transform: translateX(4px) !important;
}
.ai-platform-link .ai-link-arrow {
    transition: transform 0.25s ease !important;
}
.ai-platform-link:hover .ai-link-arrow {
    transform: translate(2px, -2px) !important;
}

/* ============================================== */
/* SPICY SMOOTH CURSOR (Restored Fluid Orange/Red Cursor) */
/* ============================================== */
#spicy-cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 32px;
    height: 32px;
    margin-left: -16px;
    margin-top: -16px;
    border-radius: 50%;
    border: 1.5px solid #f08716;
    background-color: transparent;
    pointer-events: none;
    z-index: 999999;
    will-change: left, top, transform;
    opacity: 0;
    transform: scale(1);
    transition: opacity 0.25s ease, transform 0.3s ease-out, background-color 0.3s ease-out, border-color 0.3s ease-out;
}

#spicy-cursor.is-active {
    opacity: 1;
}

#spicy-cursor.is-hovering {
    transform: scale(2.3);
    background-color: rgba(240, 135, 24, 0.2);
    border-color: rgba(240, 135, 24, 0.9);
}

@media (max-width: 768px) {
    #spicy-cursor {
        display: none !important;
    }
}

/* --- Mini-Panneau Flottant de Réglage en Direct --- */
#spicy-cursor-panel, #spicy-cursor-toggle {
    display: none !important;
}
#spicy-cursor-panel {
    position: fixed;
    bottom: 24px;
    left: 24px;
    z-index: 999998;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    user-select: none;
}
#spicy-cursor-panel button {
    cursor: pointer;
}
#spicy-cursor-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(12, 10, 9, 0.90);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(240, 135, 24, 0.45);
    color: #e7e5e4;
    padding: 8px 14px;
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
    transition: all 0.25s ease;
}
#spicy-cursor-toggle:hover {
    background: #1c1917;
    border-color: #f08716;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(240, 135, 24, 0.2);
}
#spicy-cursor-card {
    display: none;
    width: 290px;
    background: rgba(12, 10, 9, 0.94);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(240, 135, 24, 0.5);
    border-radius: 14px;
    padding: 16px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.85);
    color: #f5f5f4;
}
#spicy-cursor-panel.spicy-cursor-panel-expanded #spicy-cursor-toggle {
    display: none;
}
#spicy-cursor-panel.spicy-cursor-panel-expanded #spicy-cursor-card {
    display: block;
    animation: spicyFadeInUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes spicyFadeInUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.spicy-cursor-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #f08716;
    border-bottom: 1px solid rgba(41, 37, 36, 0.8);
    padding-bottom: 8px;
    margin-bottom: 14px;
}
#spicy-cursor-close {
    background: transparent;
    border: none;
    color: #a8a29e;
    font-size: 14px;
    line-height: 1;
    padding: 2px 6px;
    border-radius: 4px;
    transition: all 0.2s;
}
#spicy-cursor-close:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
}
.spicy-cursor-field {
    margin-bottom: 14px;
}
.spicy-cursor-label-row {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 600;
    color: #e7e5e4;
    margin-bottom: 6px;
}
.spicy-cursor-val {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 12px;
    color: #f08716;
    background: #1c1917;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid rgba(240, 135, 24, 0.25);
}
.spicy-cursor-field input[type="range"] {
    width: 100%;
    margin: 4px 0;
    accent-color: #f08716;
    cursor: pointer;
}
.spicy-cursor-hint {
    font-size: 10.5px;
    color: #a8a29e;
    line-height: 1.3;
}
.spicy-cursor-presets {
    background: #1c1917;
    border: 1px solid rgba(41, 37, 36, 0.6);
    border-radius: 8px;
    padding: 10px;
    margin-top: 12px;
}
.spicy-cursor-preset-btns {
    display: flex;
    gap: 6px;
}
.spicy-preset-btn {
    flex: 1;
    background: #292524;
    border: 1px solid rgba(240, 135, 24, 0.2);
    color: #d6d3d1;
    border-radius: 6px;
    padding: 6px 0;
    font-size: 10.5px;
    font-weight: 600;
    transition: all 0.2s;
}
.spicy-preset-btn:hover {
    background: #44403c;
    color: #fff;
    border-color: #f08716;
}
.spicy-preset-btn.spicy-preset-active {
    background: #f08716;
    color: #0c0a09;
    border-color: #f08716;
    font-weight: 700;
}
.spicy-cursor-footer {
    margin-top: 10px;
    font-size: 10px;
    color: #78716c;
    text-align: center;
}
@media (max-width: 768px) {
    #spicy-cursor-panel {
        display: none !important;
    }
}

/* ============================================== */
/* SERVICES MODAL (HOMEPAGE CARDS POPUP)          */
/* ============================================== */
.ai-srv-modal-overlay {
    display: none;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 9999999 !important;
    background: rgba(12, 10, 9, 0.96) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    align-items: center !important;
    justify-content: center !important;
    overscroll-behavior: contain !important;
    padding: 16px !important;
    box-sizing: border-box !important;
}

.ai-srv-modal-overlay.active {
    display: flex !important;
    animation: srvModalFade 0.3s ease-out;
}

@keyframes srvModalFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

.ai-srv-modal-content {
    width: 90% !important;
    max-width: 1050px !important;
    background: #14110f !important;
    border: 1px solid rgba(240, 135, 22, 0.35) !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.95) !important;
}

@media(min-width: 768px) {
    .ai-srv-modal-content {
        flex-direction: row !important;
        height: 560px !important;
        max-height: 85vh !important;
    }
}

@media(max-width: 767px) {
    .ai-srv-modal-content {
        width: 100% !important;
        max-width: 440px !important;
        height: auto !important;
        max-height: calc(100dvh - 32px) !important;
        max-height: calc(100vh - 32px) !important;
        border-radius: 20px !important;
        margin: auto !important;
    }
}

.ai-srv-modal-close {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    z-index: 100 !important;
    background: rgba(0, 0, 0, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: white !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    font-size: 24px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.25s ease !important;
}

@media(max-width: 767px) {
    .ai-srv-modal-close {
        top: 10px !important;
        right: 10px !important;
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        font-size: 18px !important;
        z-index: 220 !important;
    }
}

.ai-srv-modal-close:hover {
    background: #f08716 !important;
    border-color: #f08716 !important;
    color: #0c0a09 !important;
    transform: rotate(90deg) !important;
}

.ai-srv-modal-left {
    width: 100% !important;
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
    flex-shrink: 0 !important;
    background: #000 !important;
    position: relative !important;
    overflow: hidden !important;
}

@media(min-width: 768px) {
    .ai-srv-modal-left {
        width: 52% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
    }
}

.ai-srv-video-main {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.ai-srv-modal-right {
    padding: 18px 20px 22px 20px !important;
    width: 100% !important;
    height: auto !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
}

@media(min-width: 768px) {
    .ai-srv-modal-right {
        width: 48% !important;
        height: 100% !important;
        padding: 48px 40px !important;
        justify-content: center !important;
    }
}

.ai-srv-modal-tag {
    color: #f08716 !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
    display: block !important;
}

@media(min-width: 768px) {
    .ai-srv-modal-tag {
        font-size: 0.78rem !important;
        letter-spacing: 0.15em !important;
        margin-bottom: 12px !important;
    }
}

.ai-srv-modal-h2 {
    font-family: 'Oswald', sans-serif !important;
    font-size: clamp(1.45rem, 5vw, 1.8rem) !important;
    font-weight: 700 !important;
    color: white !important;
    margin: 0 0 10px 0 !important;
    text-transform: uppercase !important;
    line-height: 1.1 !important;
    letter-spacing: -0.01em !important;
}

@media(min-width: 768px) {
    .ai-srv-modal-h2 {
        font-size: clamp(1.8rem, 3vw, 2.5rem) !important;
        font-weight: 800 !important;
        margin: 0 0 16px 0 !important;
        line-height: 1.05 !important;
    }
}

.ai-srv-modal-p {
    color: #d6d3d1 !important;
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
    margin-bottom: 14px !important;
}

@media(min-width: 768px) {
    .ai-srv-modal-p {
        font-size: 0.98rem !important;
        line-height: 1.65 !important;
        margin-bottom: 24px !important;
    }
}

.ai-srv-modal-meta {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding-top: 10px !important;
    margin-bottom: 14px !important;
    width: 100% !important;
}

@media(min-width: 768px) {
    .ai-srv-modal-meta {
        gap: 16px !important;
        padding-top: 18px !important;
        margin-bottom: 26px !important;
    }
}

.ai-srv-meta-item strong {
    display: block !important;
    font-size: 0.68rem !important;
    color: #78716c !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-weight: 600 !important;
    margin-bottom: 3px !important;
}

@media(min-width: 768px) {
    .ai-srv-meta-item strong {
        font-size: 0.72rem !important;
        letter-spacing: 0.05em !important;
        margin-bottom: 4px !important;
    }
}

.ai-srv-meta-item span {
    color: #fff !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
}

@media(min-width: 768px) {
    .ai-srv-meta-item span {
        font-size: 0.88rem !important;
    }
}

.ai-srv-modal-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 20px !important;
    background: #f08716 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    border-radius: 9999px !important;
    transition: all 0.25s ease !important;
    margin-top: 8px !important;
    margin-bottom: 4px !important;
    flex-shrink: 0 !important;
}

@media(min-width: 768px) {
    .ai-srv-modal-btn {
        display: inline-flex !important;
        width: auto !important;
        padding: 13px 28px !important;
        font-size: 0.88rem !important;
        align-self: flex-start !important;
    }
}

.ai-srv-modal-btn:hover {
    background: #fff !important;
    color: #0c0a09 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 24px rgba(240, 135, 24, 0.4) !important;
}

/* ==========================================================================
   PORTFOLIO PHOTOS - MASONRY ORIGINEL SPICY MOTION (2 Colonnes & Ratios Naturels)
   ========================================================================== */
.ai-photo-section {
    width: 100% !important;
    background-color: #0c0a09 !important;
    color: #a8a29e !important;
    font-family: 'Inter', sans-serif !important;
    padding: 130px 24px 90px 24px !important;
    position: relative !important;
    box-sizing: border-box !important;
}

/* Container Photo Section Responsive */
.ai-photo-container {
    max-width: 1680px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 48px !important;
}

@media (min-width: 1024px) {
    .ai-photo-container {
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 48px !important;
    }
}

/* Sidebar Sticky */
.ai-photo-sidebar {
    width: 100% !important;
}

@media (min-width: 1024px) {
    .ai-photo-sidebar {
        width: 290px !important;
        flex: 0 0 290px !important;
        position: sticky !important;
        top: 110px !important;
    }
}

.ai-cam-box {
    width: 64px !important;
    height: 64px !important;
    background: #1c1917 !important;
    border: 1px solid #292524 !important;
    border-radius: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 32px !important;
    color: #f08716 !important;
}

.ai-cam-box svg {
    width: 32px !important;
    height: 32px !important;
}

.ai-photo-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 3rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    line-height: 1.05 !important;
    margin-bottom: 24px !important;
}

@media (min-width: 768px) {
    .ai-photo-title {
        font-size: 4.2rem !important;
    }
}

.ai-photo-title .ai-highlight {
    background: linear-gradient(135deg, #f08716 0%, #fbbf24 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    display: inline-block !important;
}

.ai-photo-desc {
    font-size: 1.05rem !important;
    line-height: 1.6 !important;
    color: #a8a29e !important;
    margin-bottom: 32px !important;
}

.ai-bene-list {
    list-style: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 0 !important;
    margin: 0 !important;
}

.ai-bene-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    color: #d6d3d1 !important;
    font-size: 0.95rem !important;
}

.ai-check {
    width: 22px !important;
    height: 22px !important;
    flex-shrink: 0 !important;
    background: rgba(240, 135, 24, 0.15) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ai-check svg {
    width: 12px !important;
    height: 12px !important;
    stroke: #f08716 !important;
}

/* Grille Masonry Photo : 3 Colonnes Puzzle sur Desktop (ou 2 colonnes avec .ai-cols-2) */
.ai-photo-grid-wrap {
    width: 100% !important;
    flex: 1 !important;
}

.ai-photo-section .ai-masonry,
.ai-photo-grid-wrap .ai-masonry {
    column-count: 1 !important;
    column-gap: 18px !important;
}

@media (min-width: 640px) {
    .ai-photo-section .ai-masonry,
    .ai-photo-grid-wrap .ai-masonry {
        column-count: 2 !important;
        column-gap: 18px !important;
    }
}

@media (min-width: 1024px) {
    .ai-photo-section.ai-cols-2 .ai-masonry,
    .ai-photo-grid-wrap.ai-cols-2 .ai-masonry {
        column-count: 2 !important;
        column-gap: 24px !important;
    }
    .ai-photo-section:not(.ai-cols-2) .ai-masonry,
    .ai-photo-grid-wrap:not(.ai-cols-2) .ai-masonry {
        column-count: 3 !important;
        column-gap: 18px !important;
    }
}

/* Carte Photo : Respect du ratio d'image d'origine (Hauteur libre) */
.ai-photo-section .ai-photo-item {
    break-inside: avoid !important;
    margin-bottom: 18px !important;
    position: relative !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    display: block !important;
    aspect-ratio: unset !important;
    height: auto !important;
    background: #141210 !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.45) !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
    transform: none !important;
}

.ai-photo-section.ai-cols-2 .ai-photo-item {
    margin-bottom: 24px !important;
    border-radius: 16px !important;
}

.ai-photo-section .ai-photo-item:hover {
    border-color: rgba(240, 135, 22, 0.45) !important;
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.7), 0 0 15px rgba(240, 135, 22, 0.15) !important;
}

.ai-photo-section .ai-photo-img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: unset !important;
    aspect-ratio: unset !important;
    border-radius: 16px !important;
    transform: none !important;
    transition: filter 0.3s ease !important;
    filter: brightness(0.96) !important;
}

.ai-photo-section .ai-photo-item:hover .ai-photo-img {
    transform: none !important;
    filter: brightness(1.06) !important;
}

.ai-photo-section .ai-photo-caption {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 24px 20px !important;
    background: linear-gradient(to top, rgba(12, 10, 9, 0.92) 0%, rgba(12, 10, 9, 0.4) 60%, transparent 100%) !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    display: flex !important;
    align-items: flex-end !important;
    pointer-events: none !important;
    transform: none !important;
}

.ai-photo-section .ai-photo-item:hover .ai-photo-caption {
    opacity: 1 !important;
}

.ai-photo-section .ai-caption-text {
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    text-transform: uppercase !important;
    font-size: 0.9rem !important;
    letter-spacing: 0.06em !important;
    font-weight: 500 !important;
}

/* Lightbox Universelle & Media Wrapper */
.ai-lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    background: rgba(12, 10, 9, 0.96) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease !important;
    padding: 20px !important;
    box-sizing: border-box !important;
}

.ai-lightbox.active {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.ai-lightbox-media {
    position: relative !important;
    display: inline-block !important;
    max-width: 92vw !important;
    max-height: 90vh !important;
    line-height: 0 !important;
}

.ai-lightbox-img {
    max-width: 92vw !important;
    max-height: 90vh !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    border-radius: 12px !important;
    box-shadow: 0 25px 60px -10px rgba(0, 0, 0, 0.95), 0 0 40px rgba(0, 0, 0, 0.6) !important;
}

.ai-close-btn {
    position: absolute !important;
    top: 32px !important;
    right: 32px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    color: #ffffff !important;
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.2s ease, color 0.2s ease !important;
    z-index: 100010 !important;
}

.ai-close-btn:hover {
    transform: scale(1.1) !important;
    color: #f08716 !important;
}

/* Légende Watermark Positionnée à environ 1/3 du Bas de l'Image */
.ai-lightbox-caption {
    position: absolute !important;
    bottom: 25% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: max-content !important;
    max-width: 88% !important;
    pointer-events: none !important;
    z-index: 100005 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: normal !important;
}

.ai-lightbox-caption-text {
    background: rgba(12, 10, 9, 0.85) !important;
    border: 1px solid rgba(240, 135, 24, 0.5) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.85), 0 0 20px rgba(240, 135, 24, 0.25) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    text-transform: uppercase !important;
    font-size: 1rem !important;
    letter-spacing: 0.08em !important;
    font-weight: 500 !important;
    padding: 10px 26px !important;
    border-radius: 9999px !important;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.8) !important;
    display: inline-block !important;
}

@media (max-width: 768px) {
    .ai-close-btn {
        top: 16px !important;
        right: 16px !important;
        width: 40px !important;
        height: 40px !important;
    }
    .ai-lightbox-caption {
        bottom: 20% !important;
        max-width: 92% !important;
    }
    .ai-lightbox-caption-text {
        font-size: 0.8rem !important;
        padding: 8px 16px !important;
        letter-spacing: 0.05em !important;
    }
}

/* Protection Anti-Clic Droit & Anti-Téléchargement Portfolio */
.ai-photo-section,
.ai-photo-item,
.ai-photo-img,
.ai-lightbox,
.ai-lightbox-img {
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    -webkit-user-drag: none !important;
    user-drag: none !important;
    -webkit-touch-callout: none !important;
}

.ai-photo-shield {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    cursor: pointer !important;
    background: transparent !important;
}

.ai-lightbox-shield {
    position: absolute !important;
    inset: 0 !important;
    z-index: 100000 !important;
    background: transparent !important;
    cursor: zoom-out !important;
}

.ai-protect-toast {
    position: fixed !important;
    bottom: 30px !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(30px) !important;
    background: rgba(12, 10, 9, 0.95) !important;
    border: 1px solid rgba(240, 135, 24, 0.4) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8), 0 0 20px rgba(240, 135, 24, 0.2) !important;
    color: #f5f5f4 !important;
    padding: 12px 24px !important;
    border-radius: 9999px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-family: 'Inter', sans-serif !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    z-index: 999999 !important;
    backdrop-filter: blur(12px) !important;
    text-align: center !important;
    white-space: nowrap !important;
    max-width: 90vw !important;
}

.ai-protect-toast.active {
    opacity: 1 !important;
    transform: translateX(-50%) translateY(0) !important;
}

/* ==========================================================================
   SPICY MOTION - MAGAZINE EDITORIAL STYLES (GLOBAL)
   ========================================================================== */
.spicy-mag-figure {
    margin: 2.75rem 0;
    border-radius: 10px;
    overflow: hidden;
    background: #141210;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.spicy-mag-figure:hover {
    border-color: rgba(240, 135, 22, 0.4);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.55);
}
.spicy-mag-img {
    width: 100%;
    height: auto;
    max-height: 480px;
    object-fit: cover;
    display: block;
    cursor: zoom-in;
    transition: transform 0.6s cubic-bezier(0.2, 0, 0.2, 1);
}
.spicy-mag-figure:hover .spicy-mag-img {
    transform: scale(1.02);
}
.spicy-mag-caption {
    padding: 1.1rem 1.4rem;
    background: #141210;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
}
.spicy-mag-tag {
    font-family: 'Oswald', sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #f08716;
    text-transform: uppercase;
    padding: 3px 8px;
    background: rgba(240, 135, 22, 0.12);
    border: 1px solid rgba(240, 135, 22, 0.25);
    border-radius: 4px;
    display: inline-block;
}
.spicy-mag-legend {
    font-size: 0.85rem;
    color: #a8a29e;
    line-height: 1.55;
    margin: 0;
    width: 100%;
}

/* Diptych (2 columns) */
.spicy-mag-diptych {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin: 2.75rem 0;
}
@media (max-width: 680px) {
    .spicy-mag-diptych {
        grid-template-columns: 1fr;
    }
}
.spicy-mag-diptych .spicy-mag-figure {
    margin: 0;
}
.spicy-mag-diptych .spicy-mag-img {
    height: 240px;
    object-fit: cover;
}

/* Callout Box Editorial */
.spicy-mag-callout {
    margin: 2.75rem 0;
    padding: 2rem;
    background: linear-gradient(135deg, rgba(240, 135, 22, 0.05) 0%, rgba(20, 18, 16, 0.85) 100%);
    border-left: 3px solid #f08716;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-right: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 0 12px 12px 0;
}
.spicy-mag-callout-title {
    font-family: 'Oswald', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: white;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}
.spicy-mag-callout ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.spicy-mag-callout li {
    font-size: 0.95rem;
    color: #d6d3d1;
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    line-height: 1.6;
}
.spicy-mag-callout li svg {
    width: 18px;
    height: 18px;
    min-width: 18px;
    color: #f08716;
    margin-top: 3px;
}

/* ==========================================================================
   SPICY AGENCY CAROUSEL (PAGE AGENCE)
   ========================================================================== */
.spicy-agency-carousel {
    position: relative !important;
    width: 100% !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #0c0a09 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5) !important;
    transition: border-color 0.3s ease !important;
}
.spicy-agency-carousel:hover {
    border-color: rgba(240, 135, 22, 0.4) !important;
}
.spicy-carousel-stage {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    overflow: hidden !important;
    background: #141210 !important;
}
@media (max-width: 640px) {
    .spicy-carousel-stage {
        aspect-ratio: 4 / 3 !important;
    }
}
.spicy-carousel-track {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
}
.spicy-carousel-slide {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
    transform: scale(0.98) !important;
}
.spicy-carousel-slide.active {
    opacity: 1 !important;
    visibility: visible !important;
    transform: scale(1) !important;
    z-index: 2 !important;
}
.spicy-carousel-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    cursor: zoom-in !important;
    transition: transform 0.6s cubic-bezier(0.2, 0, 0.2, 1) !important;
}
.spicy-carousel-slide.active:hover .spicy-carousel-img {
    transform: scale(1.03) !important;
}
.spicy-carousel-info {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 1.5rem 1.25rem 1rem 1.25rem !important;
    background: linear-gradient(to top, rgba(12, 10, 9, 0.95) 0%, rgba(12, 10, 9, 0.65) 60%, rgba(12, 10, 9, 0) 100%) !important;
    pointer-events: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.35rem !important;
}
.spicy-carousel-badge {
    align-self: flex-start !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    color: #f08716 !important;
    background: rgba(240, 135, 22, 0.15) !important;
    border: 1px solid rgba(240, 135, 22, 0.35) !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
}
.spicy-carousel-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: white !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    line-height: 1.2 !important;
}
.spicy-carousel-desc {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.825rem !important;
    color: #d6d3d1 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

/* Nav Buttons */
.spicy-carousel-btn {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: rgba(18, 16, 14, 0.75) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: white !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 10 !important;
    backdrop-filter: blur(8px) !important;
    transition: all 0.3s ease !important;
}
.spicy-carousel-btn:hover {
    background: #f08716 !important;
    border-color: #f08716 !important;
    color: white !important;
    box-shadow: 0 4px 15px rgba(240, 135, 22, 0.4) !important;
    transform: translateY(-50%) scale(1.08) !important;
}
.spicy-carousel-btn svg {
    width: 20px !important;
    height: 20px !important;
}
.spicy-carousel-btn.spicy-prev {
    left: 12px !important;
}
.spicy-carousel-btn.spicy-next {
    right: 12px !important;
}

/* Slide Counter */
.spicy-carousel-counter {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    padding: 4px 10px !important;
    background: rgba(18, 16, 14, 0.85) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 20px !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.08em !important;
    color: #a8a29e !important;
    backdrop-filter: blur(8px) !important;
    z-index: 10 !important;
}
.spicy-carousel-counter .spicy-counter-curr {
    color: #f08716 !important;
    font-weight: 700 !important;
}

/* Thumbnail Strip */
.spicy-carousel-thumbs {
    display: flex !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    background: #141210 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    overflow-x: auto !important;
    scrollbar-width: thin !important;
}
.spicy-thumb-item {
    position: relative !important;
    width: 60px !important;
    height: 42px !important;
    min-width: 60px !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    border: 2px solid transparent !important;
    opacity: 0.55 !important;
    transition: all 0.25s ease !important;
}
.spicy-thumb-item:hover {
    opacity: 0.9 !important;
    transform: translateY(-2px) !important;
}
.spicy-thumb-item.active {
    opacity: 1 !important;
    border-color: #f08716 !important;
    box-shadow: 0 0 10px rgba(240, 135, 22, 0.35) !important;
}
.spicy-thumb-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* ==========================================================================
   BALANCED 4-PHOTO GRID + VISIONNEUSE (PAGE AGENCE)
   ========================================================================== */
.spicy-balanced-gallery {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
}


.spicy-grid-card:hover .spicy-grid-card-img {
    transform: scale(1.05) !important;
}
.spicy-grid-card-overlay {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 8px 10px !important;
    background: linear-gradient(to top, rgba(12, 10, 9, 0.95) 0%, rgba(12, 10, 9, 0.5) 60%, rgba(12, 10, 9, 0) 100%) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    pointer-events: none !important;
}
.spicy-grid-card-tag {
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    color: #f08716 !important;
    text-transform: uppercase !important;
}
.spicy-grid-card-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    color: #f5f5f4 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.spicy-grid-zoom-btn {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    background: rgba(18, 16, 14, 0.75) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: white !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    transform: scale(0.8) !important;
    transition: all 0.25s ease !important;
}
.spicy-grid-card:hover .spicy-grid-zoom-btn {
    opacity: 1 !important;
    transform: scale(1) !important;
}
.spicy-grid-zoom-btn svg {
    width: 14px !important;
    height: 14px !important;
}

/* En-tête Visionneuse */
.spicy-viewer-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 4px !important;
    margin-top: 4px !important;
}
.spicy-viewer-label {
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    color: #a8a29e !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}
.spicy-viewer-label svg {
    color: #f08716 !important;
}
.spicy-viewer-hint {
    font-size: 0.75rem !important;
    color: #78716c !important;
    font-family: 'Inter', sans-serif !important;
}

/* ==========================================================================
   PAGE AGENCE : ÉPOQUE 1 (2008-2013) & ÉPOQUE 2 (2026-AUJOURD'HUI)
   ========================================================================== */

/* 1. ÉQUILIBRAGE STRICT 50% / 50% DES DEUX COLONNES */
@media (min-width: 1024px) {
    .ai-era-block {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 48px !important;
        align-items: start !important;
    }
    .ai-era-block > .ai-era-content,
    .ai-era-block > .ai-era-gallery {
        min-width: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* 2. ÉPOQUE 1 : GRILLE 4 PHOTOS CLÉS (FORMAT 2x2 ÉLÉGANT) */
.spicy-balanced-gallery {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
    min-width: 0 !important;
}

.spicy-era-grid-4 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
}

.spicy-grid-card {
    position: relative !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #0c0a09 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    aspect-ratio: 16 / 10 !important;
    cursor: pointer !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.spicy-grid-card:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(240, 135, 22, 0.5) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6), 0 0 12px rgba(240, 135, 22, 0.2) !important;
}
.spicy-grid-card-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    transition: transform 0.5s cubic-bezier(0.2, 0, 0.2, 1) !important;
}
.spicy-grid-card:hover .spicy-grid-card-img {
    transform: scale(1.05) !important;
}
.spicy-grid-card-overlay {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 8px 10px !important;
    background: linear-gradient(to top, rgba(12, 10, 9, 0.95) 0%, rgba(12, 10, 9, 0.5) 70%, rgba(12, 10, 9, 0) 100%) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    pointer-events: none !important;
}
.spicy-grid-card-tag {
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    color: #f08716 !important;
    text-transform: uppercase !important;
}
.spicy-grid-card-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    color: #f5f5f4 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.spicy-grid-zoom-btn {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: rgba(12, 10, 9, 0.7) !important;
    backdrop-filter: blur(4px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #f5f5f4 !important;
    opacity: 0 !important;
    transition: opacity 0.2s ease, background 0.2s ease !important;
    cursor: pointer !important;
}
.spicy-grid-card:hover .spicy-grid-zoom-btn {
    opacity: 1 !important;
}
.spicy-grid-zoom-btn:hover {
    background: #f08716 !important;
    color: #0c0a09 !important;
}
.spicy-grid-zoom-btn svg {
    width: 14px !important;
    height: 14px !important;
}

/* 3. EN-TÊTE VISIONNEUSE */
.spicy-viewer-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 4px !important;
    margin-top: 4px !important;
}
.spicy-viewer-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #f08716 !important;
}
.spicy-viewer-hint {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.72rem !important;
    color: #78716c !important;
}

/* 4. VISIONNEUSE COMPACTE FORMAT CINÉMA 16/10 */
.spicy-agency-carousel-compact {
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #0c0a09 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
}
.spicy-agency-carousel-compact .spicy-carousel-stage {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    max-height: 380px !important;
    height: auto !important;
    overflow: hidden !important;
    background: #0c0a09 !important;
}
.spicy-agency-carousel-compact .spicy-carousel-track {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
.spicy-agency-carousel-compact .spicy-carousel-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.4s ease, visibility 0.4s ease !important;
    z-index: 1 !important;
}
.spicy-agency-carousel-compact .spicy-carousel-slide.active {
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2 !important;
}
.spicy-agency-carousel-compact .spicy-carousel-img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    cursor: zoom-in !important;
    transition: transform 0.4s ease !important;
}
.spicy-agency-carousel-compact .spicy-carousel-img.is-landscape {
    object-fit: cover !important;
    object-position: center center !important;
}
.spicy-agency-carousel-compact .spicy-carousel-img.is-portrait {
    object-fit: contain !important;
    object-position: center center !important;
    background: #0c0a09 !important;
}
.spicy-agency-carousel-compact .spicy-carousel-info {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 1.25rem 1.25rem 0.85rem 1.25rem !important;
    background: linear-gradient(to top, rgba(12, 10, 9, 0.98) 0%, rgba(12, 10, 9, 0.75) 60%, rgba(12, 10, 9, 0) 100%) !important;
    z-index: 3 !important;
    pointer-events: none !important;
}
.spicy-agency-carousel-compact .spicy-carousel-badge {
    display: inline-block !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #f08716 !important;
    background: rgba(12, 10, 9, 0.9) !important;
    border: 1px solid rgba(240, 135, 22, 0.5) !important;
    border-radius: 4px !important;
    padding: 2px 8px !important;
    margin-bottom: 4px !important;
}
.spicy-agency-carousel-compact .spicy-carousel-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #ffffff !important;
    display: block !important;
    line-height: 1.2 !important;
}
.spicy-agency-carousel-compact .spicy-carousel-desc {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.8rem !important;
    color: #a8a29e !important;
    line-height: 1.35 !important;
    margin: 3px 0 0 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.spicy-agency-carousel-compact .spicy-carousel-btn {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: rgba(12, 10, 9, 0.75) !important;
    backdrop-filter: blur(6px) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #f5f5f4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 5 !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.spicy-agency-carousel-compact .spicy-carousel-btn:hover {
    background: #f08716 !important;
    border-color: #f08716 !important;
    color: #0c0a09 !important;
}
.spicy-agency-carousel-compact .spicy-carousel-btn.spicy-prev {
    left: 12px !important;
}
.spicy-agency-carousel-compact .spicy-carousel-btn.spicy-next {
    right: 12px !important;
}
.spicy-agency-carousel-compact .spicy-carousel-counter {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    background: rgba(12, 10, 9, 0.8) !important;
    backdrop-filter: blur(6px) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 20px !important;
    padding: 3px 10px !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.08em !important;
    color: #a8a29e !important;
    z-index: 5 !important;
}
.spicy-agency-carousel-compact .spicy-counter-curr {
    color: #f08716 !important;
    font-weight: 700 !important;
}

/* 5. BANDEAU DE MINIATURES (SCROLL HORIZONTAL 25 ARCHIVES) */
.spicy-agency-carousel-compact .spicy-carousel-thumbs {
    display: flex !important;
    gap: 8px !important;
    padding: 8px 10px !important;
    background: #0c0a09 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    overflow-x: auto !important;
    scrollbar-width: thin !important;
    scrollbar-color: #f08716 rgba(255, 255, 255, 0.08) !important;
    flex-shrink: 0 !important;
}
.spicy-agency-carousel-compact .spicy-thumb-item {
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 44px !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    opacity: 0.55 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    transition: opacity 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}
.spicy-agency-carousel-compact .spicy-thumb-item:hover {
    opacity: 0.9 !important;
    border-color: rgba(240, 135, 22, 0.6) !important;
}
.spicy-agency-carousel-compact .spicy-thumb-item.active {
    opacity: 1 !important;
    border-color: #f08716 !important;
    box-shadow: 0 0 8px rgba(240, 135, 22, 0.4) !important;
}
.spicy-agency-carousel-compact .spicy-thumb-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* 6. ÉPOQUE 2 (2026-AUJOURD'HUI) : CADRES HAUT, BAS, GAUCHE */
.spicy-frame-top {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
}
.spicy-frame-bottom {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 4px !important;
}
.spicy-frame-item {
    position: relative !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #0c0a09 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    aspect-ratio: 16 / 9 !important;
    cursor: pointer !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.spicy-frame-bottom .spicy-frame-item {
    aspect-ratio: 16 / 10 !important;
}
.spicy-frame-item:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(240, 135, 22, 0.5) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5), 0 0 12px rgba(240, 135, 22, 0.15) !important;
}
.spicy-frame-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.5s cubic-bezier(0.2, 0, 0.2, 1) !important;
}
.spicy-frame-item:hover .spicy-frame-img {
    transform: scale(1.05) !important;
}
.spicy-frame-overlay {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 6px 10px !important;
    background: linear-gradient(to top, rgba(12, 10, 9, 0.95) 0%, rgba(12, 10, 9, 0.5) 70%, rgba(12, 10, 9, 0) 100%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    pointer-events: none !important;
}
.spicy-frame-badge {
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    color: #f08716 !important;
    text-transform: uppercase !important;
}
.spicy-frame-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    color: #f5f5f4 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.spicy-frame-zoom {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    background: rgba(18, 16, 14, 0.8) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: white !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    transform: scale(0.8) !important;
    transition: all 0.2s ease !important;
}
.spicy-frame-item:hover .spicy-frame-zoom {
    opacity: 1 !important;
    transform: scale(1) !important;
}
.spicy-frame-zoom svg {
    width: 12px !important;
    height: 12px !important;
}
.spicy-frame-left-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
}
.spicy-frame-left-grid .spicy-grid-card {
    aspect-ratio: 16 / 10 !important;
    height: auto !important;
    min-height: unset !important;
    cursor: default !important;
}
.spicy-frame-left-grid .spicy-grid-card:hover {
    transform: none !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important;
}
.spicy-frame-left-grid .spicy-grid-card:hover .spicy-grid-card-img {
    transform: none !important;
}
@media (max-width: 1023px) {
    .spicy-frame-left-grid .spicy-grid-card {
        min-height: unset !important;
    }
}


/* ==========================================================================
   ARCHIVES GALLERY & 2008-2013 RETOUCHES (AGENCE & PAGE ARCHIVES PHOTOS)
   ========================================================================== */
.spicy-era-grid-large {
    position: relative !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #0c0a09 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    aspect-ratio: 16 / 9 !important;
    width: 100% !important;
    cursor: default !important;
    margin-top: 12px !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.spicy-era-grid-large:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(240, 135, 22, 0.5) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6), 0 0 12px rgba(240, 135, 22, 0.2) !important;
}
.spicy-era-grid-large .spicy-grid-card-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    transition: transform 0.5s cubic-bezier(0.2, 0, 0.2, 1) !important;
}
.spicy-era-grid-large:hover .spicy-grid-card-img {
    transform: scale(1.03) !important;
}

.spicy-era-btn-wrap {
    margin-top: 16px !important;
    width: 100% !important;
}
.spicy-era-cta-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 14px 20px !important;
    background: #141210 !important;
    border: 1px solid rgba(240, 135, 22, 0.45) !important;
    border-radius: 8px !important;
    color: #f5f5f4 !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
}
.spicy-era-cta-btn:hover {
    background: #f08716 !important;
    color: #0c0a09 !important;
    border-color: #f08716 !important;
    box-shadow: 0 6px 20px rgba(240, 135, 22, 0.35) !important;
    transform: translateY(-2px) !important;
}
.spicy-era-cta-btn svg {
    transition: transform 0.3s ease !important;
}
.spicy-era-cta-btn:hover svg {
    transform: translateX(4px) !important;
}

/* ==========================================================================
   PAGE ARCHIVES PHOTOS (GRILLE 4 COLONNES)
   ========================================================================== */
.spicy-archives-page {
    background-color: #0c0a09 !important;
    min-height: 80vh !important;
    padding: 60px 24px 100px !important;
    color: #f5f5f4 !important;
    font-family: 'Inter', sans-serif !important;
}
.spicy-archives-container {
    max-width: 1440px !important;
    margin: 0 auto !important;
}
.spicy-archives-header {
    text-align: center !important;
    max-width: 800px !important;
    margin: 0 auto 50px auto !important;
}
.spicy-archives-tag {
    display: inline-block !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.15em !important;
    color: #f08716 !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
}
.spicy-archives-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: clamp(2.2rem, 5vw, 3.8rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    line-height: 1.1 !important;
    margin: 0 0 18px 0 !important;
}
.spicy-archives-desc {
    font-family: 'Inter', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    color: #a8a29e !important;
    margin: 0 !important;
}
.spicy-archives-count {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 16px !important;
    padding: 6px 14px !important;
    border-radius: 9999px !important;
    background: rgba(240, 135, 22, 0.1) !important;
    border: 1px solid rgba(240, 135, 22, 0.25) !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: #f08716 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

/* Grille Masonry 4 colonnes */
.spicy-archives-grid,
.spicy-archives-masonry {
    column-count: 4 !important;
    column-gap: 20px !important;
    width: 100% !important;
}
@media (max-width: 1200px) {
    .spicy-archives-grid,
    .spicy-archives-masonry {
        column-count: 3 !important;
    }
}
@media (max-width: 800px) {
    .spicy-archives-grid,
    .spicy-archives-masonry {
        column-count: 2 !important;
        column-gap: 14px !important;
    }
}
@media (max-width: 500px) {
    .spicy-archives-grid,
    .spicy-archives-masonry {
        column-count: 1 !important;
    }
}

.spicy-archive-item {
    display: inline-block !important;
    width: 100% !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    margin-bottom: 20px !important;
    position: relative !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #141210 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    cursor: pointer !important;
    transform: none !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.spicy-archive-item:hover {
    transform: none !important;
    border-color: rgba(240, 135, 22, 0.6) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.7), 0 0 16px rgba(240, 135, 22, 0.25) !important;
}
.spicy-archive-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transform: none !important;
    transition: filter 0.3s ease !important;
}
.spicy-archive-item:hover .spicy-archive-img {
    transform: none !important;
    filter: brightness(1.06) !important;
}
.spicy-archive-overlay {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: linear-gradient(to top, rgba(12, 10, 9, 0.95) 0%, rgba(12, 10, 9, 0.5) 60%, rgba(12, 10, 9, 0) 100%) !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 16px 14px 12px !important;
    pointer-events: none !important;
}
.spicy-archive-item:hover .spicy-archive-overlay {
    opacity: 1 !important;
}
.spicy-archive-badge {
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    color: #f08716 !important;
    text-transform: uppercase !important;
    margin-bottom: 2px !important;
}
.spicy-archive-item-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: #f5f5f4 !important;
    line-height: 1.3 !important;
}
.spicy-archive-zoom-icon {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: rgba(12, 10, 9, 0.75) !important;
    backdrop-filter: blur(4px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #f5f5f4 !important;
    opacity: 0 !important;
    transform: none !important;
    transition: opacity 0.3s ease, background 0.2s ease !important;
}
.spicy-archive-item:hover .spicy-archive-zoom-icon {
    opacity: 1 !important;
    transform: none !important;
}
.spicy-archive-item:hover .spicy-archive-zoom-icon:hover {
    background: #f08716 !important;
    color: #0c0a09 !important;
}

/* Lightbox de la page Archives */
.spicy-archives-lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    background: rgba(12, 10, 9, 0.96) !important;
    backdrop-filter: blur(16px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 30px 20px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.spicy-archives-lightbox.active {
    opacity: 1 !important;
    pointer-events: auto !important;
}
.spicy-alightbox-content {
    max-width: 1100px !important;
    width: 100% !important;
    max-height: 85vh !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    position: relative !important;
}
.spicy-alightbox-img {
    max-width: 100% !important;
    max-height: 70vh !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8) !important;
}
.spicy-alightbox-meta {
    margin-top: 16px !important;
    text-align: center !important;
    max-width: 700px !important;
}
.spicy-alightbox-badge {
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    color: #f08716 !important;
    text-transform: uppercase !important;
}
.spicy-alightbox-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 1.3rem !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    letter-spacing: 0.03em !important;
    margin: 4px 0 !important;
}
.spicy-alightbox-desc {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.88rem !important;
    color: #a8a29e !important;
    margin: 0 !important;
}
.spicy-alightbox-counter {
    position: absolute !important;
    top: 20px !important;
    left: 24px !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: #78716c !important;
    letter-spacing: 0.1em !important;
}
.spicy-alightbox-counter span {
    color: #f08716 !important;
}
.spicy-alightbox-close {
    position: absolute !important;
    top: 20px !important;
    right: 24px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: rgba(28, 25, 23, 0.8) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}
.spicy-alightbox-close:hover {
    background: #f08716 !important;
    color: #0c0a09 !important;
    border-color: #f08716 !important;
}
.spicy-alightbox-prev,
.spicy-alightbox-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    background: rgba(28, 25, 23, 0.85) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}
.spicy-alightbox-prev {
    left: 24px !important;
}
.spicy-alightbox-next {
    right: 24px !important;
}
.spicy-alightbox-prev:hover,
.spicy-alightbox-next:hover {
    background: #f08716 !important;
    color: #0c0a09 !important;
    border-color: #f08716 !important;
}

/* Navigation bas de page archives */
.spicy-archives-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
    margin-top: 60px !important;
    flex-wrap: wrap !important;
}
.spicy-archives-back-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    background: #141210 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #f5f5f4 !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
}
.spicy-archives-back-btn:hover {
    border-color: #f08716 !important;
    color: #f08716 !important;
    background: #1c1917 !important;
}
.spicy-archives-cta-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    background: #f08716 !important;
    border: 1px solid #f08716 !important;
    color: #0c0a09 !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
}
.spicy-archives-cta-btn:hover {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #0c0a09 !important;
    box-shadow: 0 4px 16px rgba(255, 255, 255, 0.2) !important;
}


/* ==========================================================================
   LÉGENDES PILLULE 1 SEULE LIGNE (STYLE OFFICIEL PORTFOLIO & ARCHIVES)
   ========================================================================== */
.spicy-archive-caption {
    position: absolute !important;
    bottom: 14px !important;
    left: 10px !important;
    right: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
    transform: translateY(6px) !important;
    pointer-events: none !important;
    z-index: 5 !important;
}
.spicy-archive-item:hover .spicy-archive-caption {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
.spicy-archive-pill {
    display: inline-block !important;
    max-width: 100% !important;
    padding: 6px 16px !important;
    background: #0c0a09 !important;
    border: 1px solid #f08716 !important;
    border-radius: 9999px !important;
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.7) !important;
    text-align: center !important;
}

/* Alignement Portfolio /photos/ */
.ai-photo-caption {
    position: absolute !important;
    bottom: 14px !important;
    left: 10px !important;
    right: 10px !important;
    padding: 0 !important;
    background: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
    transform: translateY(6px) !important;
    pointer-events: none !important;
    z-index: 5 !important;
}
.ai-photo-item:hover .ai-photo-caption,
.ai-photo-section .ai-photo-item:hover .ai-photo-caption {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
.ai-caption-text,
.ai-photo-section .ai-caption-text {
    display: inline-block !important;
    max-width: 100% !important;
    padding: 6px 16px !important;
    background: #0c0a09 !important;
    border: 1px solid #f08716 !important;
    border-radius: 9999px !important;
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.7) !important;
    text-align: center !important;
}


/* ==========================================================================
   LÉGENDE PILLULE DU LIGHTBOX PLEIN ÉCRAN (PAGE ARCHIVES PHOTOS)
   ========================================================================== */
.spicy-alightbox-caption {
    margin-top: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 90vw !important;
}
.spicy-alightbox-pill {
    background: rgba(12, 10, 9, 0.85) !important;
    border: 1px solid #f08716 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.85), 0 0 20px rgba(240, 135, 22, 0.25) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    text-transform: uppercase !important;
    font-size: 1rem !important;
    letter-spacing: 0.08em !important;
    font-weight: 500 !important;
    padding: 10px 26px !important;
    border-radius: 9999px !important;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.8) !important;
    display: inline-block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 90vw !important;
    text-align: center !important;
}
@media (max-width: 768px) {
    .spicy-alightbox-pill {
        font-size: 0.82rem !important;
        padding: 8px 18px !important;
        letter-spacing: 0.05em !important;
    }
}


/* ==========================================================================
   ALIGNEMENT STRICT PILLULE ARCHIVES = PORTFOLIO (HOVER & LIGHTBOX)
   ========================================================================== */
.spicy-archive-overlay {
    display: none !important;
}

.spicy-archive-caption {
    position: absolute !important;
    bottom: 14px !important;
    left: 10px !important;
    right: 10px !important;
    padding: 0 !important;
    background: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
    transform: translateY(6px) !important;
    pointer-events: none !important;
    z-index: 5 !important;
}
.spicy-archive-item:hover .spicy-archive-caption {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
.spicy-archive-pill {
    display: inline-block !important;
    max-width: 100% !important;
    padding: 6px 16px !important;
    background: #0c0a09 !important;
    border: 1px solid #f08716 !important;
    border-radius: 9999px !important;
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.7) !important;
    text-align: center !important;
}

/* Lightbox Content & Watermark Pill */
.spicy-alightbox-content {
    position: relative !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    max-width: 92vw !important;
    max-height: 88vh !important;
    line-height: 0 !important;
}
.spicy-alightbox-img {
    max-width: 92vw !important;
    max-height: 88vh !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7) !important;
    display: block !important;
}
.spicy-alightbox-caption {
    position: absolute !important;
    bottom: 24px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: max-content !important;
    max-width: 88% !important;
    pointer-events: none !important;
    z-index: 100005 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: normal !important;
    margin: 0 !important;
}
.spicy-alightbox-pill {
    background: #0c0a09 !important;
    border: 1px solid #f08716 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.7) !important;
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    text-transform: uppercase !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.05em !important;
    font-weight: 500 !important;
    padding: 6px 16px !important;
    border-radius: 9999px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 86vw !important;
    display: inline-block !important;
    text-align: center !important;
}



/* ==========================================================================
   PAGE ARCHIVES PHOTOS (STYLE STRICT PORTFOLIO AVEC RÉCAPITULATIF GAUCHE)
   ========================================================================== */
.spicy-archives-section {
    width: 100% !important;
    background-color: #0c0a09 !important;
    color: #a8a29e !important;
    font-family: 'Inter', sans-serif !important;
    padding: 130px 24px 90px 24px !important;
    position: relative !important;
    box-sizing: border-box !important;
}

.spicy-archives-container {
    max-width: 1680px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 48px !important;
}

@media (min-width: 1024px) {
    .spicy-archives-container {
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 56px !important;
    }
}

/* Sidebar Récapitulative Sticky */
.spicy-archives-sidebar {
    width: 100% !important;
}

@media (min-width: 1024px) {
    .spicy-archives-sidebar {
        width: 320px !important;
        flex: 0 0 320px !important;
        position: sticky !important;
        top: 110px !important;
    }
}

/* Bouton Retour en haut de la sidebar */
.spicy-back-btn,
.spicy-back-btn:visited {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 16px !important;
    background: #141210 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 9999px !important;
    color: #d6d3d1 !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
    margin-bottom: 28px !important;
}
.spicy-back-btn:hover {
    color: #ffffff !important;
    border-color: #f08716 !important;
    background: rgba(240, 135, 22, 0.12) !important;
    transform: translateX(-4px) !important;
}
.spicy-back-btn svg {
    stroke: #f08716 !important;
    transition: transform 0.25s ease !important;
}
.spicy-back-btn:hover svg {
    transform: translateX(-2px) !important;
}

/* Grid Wrapper & Masonry Dense avec support Double Colonne Vedette */
.spicy-archives-grid-wrap {
    width: 100% !important;
    flex: 1 !important;
}

.spicy-archives-grid-wrap .spicy-archives-masonry {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-auto-rows: 10px !important;
    gap: 20px !important;
    grid-auto-flow: dense !important;
    width: 100% !important;
}

.spicy-archives-masonry .spicy-archive-item {
    margin-bottom: 0 !important;
}

.spicy-archive-item.is-vedette {
    grid-column: span 2 !important;
    border-color: rgba(240, 135, 22, 0.35) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.6), 0 0 25px rgba(240, 135, 22, 0.12) !important;
}

@media (min-width: 1800px) {
    .spicy-archives-grid-wrap .spicy-archives-masonry {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

@media (max-width: 1100px) {
    .spicy-archives-grid-wrap .spicy-archives-masonry {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
}

@media (max-width: 640px) {
    .spicy-archives-grid-wrap .spicy-archives-masonry {
        grid-template-columns: 1fr !important;
    }
    .spicy-archive-item.is-vedette {
        grid-column: span 1 !important;
        grid-row-end: auto !important;
    }
}

/* Boutons de bas de page Spicy Motion */
.spicy-archives-bottom-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
    margin-top: 60px !important;
    padding-top: 40px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    flex-wrap: wrap !important;
    width: 100% !important;
}

.spicy-btn-secondary,
.spicy-btn-secondary:visited {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 13px 26px !important;
    background: #141210 !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 9999px !important;
    color: #e7e5e4 !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.spicy-btn-secondary:hover {
    color: #ffffff !important;
    border-color: #f08716 !important;
    background: rgba(240, 135, 22, 0.12) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5) !important;
}
.spicy-btn-secondary svg {
    stroke: #f08716 !important;
    transition: transform 0.25s ease !important;
}
.spicy-btn-secondary:hover svg {
    transform: translateX(-3px) !important;
}

.spicy-btn-primary,
.spicy-btn-primary:visited {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 13px 26px !important;
    background: #f08716 !important;
    border: 1px solid #f08716 !important;
    border-radius: 9999px !important;
    color: #0c0a09 !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 4px 18px rgba(240, 135, 22, 0.35) !important;
}
.spicy-btn-primary:hover {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #0c0a09 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(255, 255, 255, 0.3) !important;
}
.spicy-btn-primary svg {
    stroke: #0c0a09 !important;
    transition: transform 0.25s ease !important;
}
.spicy-btn-primary:hover svg {
    transform: translateX(3px) !important;
}



/* ==========================================================================
   PROTECTION ANTI-TÉLÉCHARGEMENT & ANTI-CLIC DROIT ARCHIVES PHOTOS
   ========================================================================== */
.spicy-archives-section,
.spicy-archive-item,
.spicy-archive-img,
.spicy-archives-lightbox,
.spicy-alightbox-img {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
    user-drag: none !important;
    -webkit-touch-callout: none !important;
}

.spicy-archive-img {
    pointer-events: none !important;
}

.spicy-alightbox-img {
    pointer-events: none !important;
}

.spicy-archive-shield {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    cursor: pointer !important;
    background: transparent !important;
}

.spicy-alightbox-shield {
    position: absolute !important;
    inset: 0 !important;
    z-index: 100000 !important;
    background: transparent !important;
    cursor: default !important;
}



/* ============================================================
   NOUVEAU DESIGN DES GRANDS TITRES ACCUEIL (DIRECTION ARTISTIQUE RADIANT)
   ============================================================ */
.spicy-title-single {
    display: block !important;
    margin: 0 0 20px 0 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.spicy-heading-svg {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
}

.spicy-heading-svg text {
    font-family: 'Oswald', sans-serif !important;
    font-size: 50px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: -1px !important;
}

.spicy-solid-text {
    fill: #ffffff !important;
    stroke: none !important;
}

.spicy-stroke-text {
    fill: transparent !important;
    stroke: #f08716 !important;
    stroke-width: 1px !important;
    transition: stroke 0.4s cubic-bezier(0.4, 0, 0.2, 1), filter 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* ÉTAT AU SURVOL (:hover) — Dégradé Radiant + Lueur lumineuse */
.ai-pf-header:hover .spicy-stroke-real,
.spicy-title-single:hover .spicy-stroke-real,
.spicy-heading-svg:hover .spicy-stroke-real {
    stroke: url(#spicy-grad-real) !important;
    filter: drop-shadow(0 0 6px rgba(255, 94, 30, 0.7)) 
            drop-shadow(0 0 12px rgba(229, 46, 113, 0.6)) 
            drop-shadow(0 0 18px rgba(139, 0, 255, 0.45)) !important;
}

.ai-srv-header:hover .spicy-stroke-srv,
.spicy-title-single:hover .spicy-stroke-srv,
.spicy-heading-svg:hover .spicy-stroke-srv {
    stroke: url(#spicy-grad-srv) !important;
    filter: drop-shadow(0 0 6px rgba(255, 94, 30, 0.7)) 
            drop-shadow(0 0 12px rgba(229, 46, 113, 0.6)) 
            drop-shadow(0 0 18px rgba(139, 0, 255, 0.45)) !important;
}

.ai-skill-header:hover .spicy-stroke-skill,
.spicy-title-single:hover .spicy-stroke-skill,
.spicy-heading-svg:hover .spicy-stroke-skill {
    stroke: url(#spicy-grad-skill) !important;
    filter: drop-shadow(0 0 6px rgba(255, 94, 30, 0.7)) 
            drop-shadow(0 0 12px rgba(229, 46, 113, 0.6)) 
            drop-shadow(0 0 18px rgba(139, 0, 255, 0.45)) !important;
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ==========================================================================
   SUBPAGES RESPONSIVE HARMONIZATION (Breadcrumbs & Top Spacing)
   Eliminates excessive black voids on mobile/desktop under fixed header
   ========================================================================== */
@media (max-width: 767px) {
    .ai-agency-wrapper {
        padding: 24px 20px 60px 20px !important;
    }
    .ai-photo-section {
        padding: 24px 20px 60px 20px !important;
    }
    .ai-services-section {
        padding: 24px 20px 60px 20px !important;
    }
    .ai-portfolio-section {
        padding: 24px 20px 60px 20px !important;
    }
    .spicy-journal-container {
        padding: 24px 16px 48px 16px !important;
        max-width: 100% !important;
    }
    .spicy-page-title {
        margin-bottom: 2rem !important;
    }
}

@media (min-width: 768px) {
    .ai-agency-wrapper {
        padding: 48px 24px 100px 24px !important;
    }
    .ai-photo-section {
        padding: 48px 24px 100px 24px !important;
    }
    .ai-services-section {
        padding: 48px 20px 80px 20px !important;
    }
    .ai-portfolio-section {
        padding: 48px 20px 80px 20px !important;
    }
    .spicy-journal-container {
        padding: 40px 24px 80px 24px !important;
        max-width: 1536px !important;
        margin: 0 auto !important;
    }
    .spicy-page-title {
        margin-bottom: 3.5rem !important;
    }
}

/* ==========================================================================
   PAGE PRESTATIONS VIDÉO HERO (#spicy-title-widget) RESPONSIVE FIX
   Empêche tout chevauchement entre le badge, le titre et le sous-titre
   ========================================================================== */
@media (max-width: 767px) {
    #spicy-title-widget {
        min-height: 280px !important;
        height: 280px !important;
        padding: 0 !important;
        margin-bottom: 1.5rem !important;
        overflow: hidden !important;
        position: relative !important;
        display: block !important;
    }
    #spicy-title-widget .spicy-title-video-layer {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 0 !important;
    }
    #spicy-title-widget .spicy-title-mask {
        position: absolute !important;
        inset: 0 !important;
        z-index: 10 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    #spicy-title-widget .spicy-title-text {
        font-size: 13vw !important;
        line-height: 1 !important;
    }
    #spicy-title-widget .spicy-title-ui {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 24px 16px 20px 16px !important;
        box-sizing: border-box !important;
        z-index: 20 !important;
        pointer-events: none !important;
    }
    #spicy-title-widget .spicy-title-ui > div {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        width: 100% !important;
        text-align: center !important;
    }
    #spicy-title-widget .spicy-badge {
        display: inline-block !important;
        font-size: 0.75rem !important;
        padding: 0.35rem 1rem !important;
        margin: 0 auto !important;
        letter-spacing: 0.12em !important;
    }
    #spicy-title-widget .spicy-desc {
        font-size: 0.85rem !important;
        line-height: 1.4 !important;
        margin: 0 auto !important;
        padding: 0 12px !important;
    }
}

/* ==========================================================================
   PAGE ACCUEIL HERO (#spicy-home-hero) CENTRAGE OPTIQUE MOBILE
   ========================================================================== */
@media (max-width: 768px) {
    #spicy-home-hero {
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 520px !important;
        padding: 0 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        position: relative !important;
    }
    .spicy-hero-content {
        position: relative !important;
        z-index: 10 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        transform: translateY(-40px) !important;
    }
    .spicy-hero-heading {
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }
    .spicy-circle-wrapper {
        position: absolute !important;
        left: 50% !important;
        top: calc(50% - 40px) !important;
        transform: translate(-50%, -50%) !important;
    }
    .spicy-main-title {
        font-size: clamp(2.3rem, 11vw, 3.4rem) !important;
        line-height: 0.95 !important;
    }
    .spicy-subtitle {
        font-size: clamp(0.7rem, 2.9vw, 0.85rem) !important;
        letter-spacing: 0.12em !important;
        margin-top: 1rem !important;
        line-height: 1.35 !important;
        padding: 0 8px !important;
    }
    .spicy-description {
        font-size: clamp(0.65rem, 2.5vw, 0.78rem) !important;
        letter-spacing: 0.08em !important;
        margin-top: 0.35rem !important;
    }
    .spicy-qg-wrapper {
        margin-top: 24px !important;
        text-align: center !important;
        display: block !important;
        width: 100% !important;
        position: static !important;
        transform: none !important;
    }
    .spicy-qg-switch {
        width: 66px !important;
        height: 34px !important;
        margin: 0 auto 6px auto !important;
    }
    .spicy-qg-slider:before {
        height: 26px !important;
        width: 26px !important;
        left: 2px !important;
        top: 2px !important;
    }
    input:checked + .spicy-qg-slider:before {
        transform: translateX(32px) !important;
    }
    .spicy-qg-label {
        margin-top: 4px !important;
        font-size: 11px !important;
        letter-spacing: 1.5px !important;
    }
}
