        :root {
            --foret: #00561B;
            --or: #C5A059;
            --asphalte: #1A1A1A;
            --blanc-casse: #FDFBF7;
            --beige: #F5F0E8;
            --beige-givre: #F9F9FB;
            --noir-profond: #0b0c10;
            --accent: #00561B;
        }

        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body { font-family: 'Inter', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
svg { max-width: none; max-height: none; }

        .header-fixed {
            position: sticky;
            top: 0;
            z-index: 50;
            background: rgba(253, 251, 247, 0.85);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border-bottom: 1px solid rgba(197, 160, 89, 0.25);
            box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
        }

        /* Style for accordion */
        .accordion-open .accordion-chevron {
            transform: rotate(180deg);
        }
        
        .accordion-item {
            transition: all 0.3s ease;
        }
        
        .accordion-item:hover {
            border-color: rgba(0, 86, 27, 0.3);
        }
        
        .accordion-open {
            border-color: rgba(0, 86, 27, 0.5);
            box-shadow: 0 2px 8px rgba(0, 86, 27, 0.1);
        }
        
        .accordion-open .accordion-header {
            background-color: rgba(0, 86, 27, 0.05);
        }

        .btn-cta {
    background: linear-gradient(135deg, #E3C98C, #C5A059);
            color: var(--asphalte);
            font-weight: 600;
            padding: 12px 28px;
            border-radius: 8px;
            border: none;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 4px 14px rgba(197, 160, 89, 0.35);
        }
        .btn-cta:hover {
            background: linear-gradient(135deg, #3CB371, #2E8B57, #00561B) !important;
            color: #FFFFFF !important;
            transform: translateY(-2px);
            box-shadow: 0 6px 24px rgba(0, 86, 27, 0.5);
        }

        .btn-secondary {
            background: transparent;
            color: var(--or);
            font-weight: 600;
            padding: 12px 28px;
            border-radius: 8px;
            border: 2px solid var(--or);
            cursor: pointer;
            transition: all 0.3s ease;
            white-space: nowrap;
        }
        .btn-secondary:hover {
            background: var(--or);
            color: #000000;
            border-color: var(--or);
        }
        /* Aurora Borealis Styles */
        #hero {
            overflow: hidden;
            position: relative;
        }
        
        .aurora-container {
            position: absolute;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background-color: #000000;
            overflow: hidden;
            z-index: 0;
            pointer-events: none;
        }

        /* Les blobs de couleur sont géants et ultra-flous */
        .aurora-blob {
            position: absolute;
            width: 80vw;
            height: 80vh;
            filter: blur(140px);
            mix-blend-mode: screen; /* CRITIQUE : Empêche les couleurs de devenir marrons et les fait s'illuminer */
            will-change: transform;
        }

        /* Position et couleurs exactes - Or en haut, Vert en bas */
        .v-principal { background: radial-gradient(circle, #006B2D 0%, transparent 70%); bottom: -20%; left: -10%; animation: flotterC 20s ease-in-out infinite alternate; opacity: 0.5; }
        .v-transition { background: radial-gradient(circle, #00331A 0%, transparent 70%); bottom: -10%; left: 15%; animation: flotterD 26s ease-in-out infinite alternate-reverse; opacity: 0.45; }
        
        .o-principal { background: radial-gradient(circle, #C5A059 0%, transparent 70%); top: -15%; right: -10%; animation: flotterA 22s ease-in-out infinite alternate-reverse; opacity: 0.42; }
        .o-transition { background: radial-gradient(circle, #93733A 0%, transparent 70%); top: -5%; left: 15%; animation: flotterB 30s ease-in-out infinite alternate; opacity: 0.38; }

        /* Calque de texture grain argentique (comme l'image de référence) */
        .aurora-grain {
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0%200%20200%20200'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65'%20numOctaves='6'%20stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect%20width='100%25'%20height='100%25'%20filter='url(%23noise)'%3E%3Crect%20width='100%25'%20height='100%25'%20fill='%23000'%20fill-opacity='0.04'%3E%3C/rect%3E%3C/rect%3E%3C/svg%3E");
            opacity: 0.04;
            pointer-events: none;
            z-index: 1;
        }

        /* Mouvements gracieux, lents et fluides */
        @keyframes flotterA {
            0% { transform: translate(0, 0) scale(1); }
            25% { transform: translate(15%, 12%) scale(1.1); }
            50% { transform: translate(30%, 25%) scale(1.2); }
            75% { transform: translate(15%, 12%) scale(1.1); }
            100% { transform: translate(0, 0) scale(1); }
        }
        @keyframes flotterB {
            0% { transform: translate(0, 0) scale(1.1); }
            25% { transform: translate(-12%, -15%) scale(0.95); }
            50% { transform: translate(-25%, -30%) scale(0.9); }
            75% { transform: translate(-12%, -15%) scale(0.95); }
            100% { transform: translate(0, 0) scale(1.1); }
        }
        @keyframes flotterC {
            0% { transform: translate(0, 0) scale(1); }
            25% { transform: translate(-10%, -12%) scale(1.15); }
            50% { transform: translate(-20%, -25%) scale(1.25); }
            75% { transform: translate(-10%, -12%) scale(1.15); }
            100% { transform: translate(0, 0) scale(1); }
        }
        @keyframes flotterD {
            0% { transform: translate(0, 0) scale(1.1); }
            25% { transform: translate(12%, 15%) scale(0.95); }
            50% { transform: translate(25%, 30%) scale(0.9); }
            75% { transform: translate(12%, 15%) scale(0.95); }
            100% { transform: translate(0, 0) scale(1.1); }
        }
        
        /* Golden interactive halo */
        #gold-halo {
            position: fixed;
            top: 0; left: 0;
            width: 240px; height: 240px;
            background: radial-gradient(circle, rgba(197, 160, 89, 0.15) 0%, transparent 70%);
            border-radius: 50%;
            filter: blur(100px);
            transform: translate(-50%, -50%);
            opacity: 0.15;
            transition: opacity 0.3s ease;
            pointer-events: none;
            z-index: 0;
        }
        #gold-halo.active {
            opacity: 1;
        }

        /* Hide gold halo on touch devices */
        @media (pointer: coarse) {
            #gold-halo {
                display: none;
            }
        }
        
        /* Fallback image when JavaScript is disabled */
        .no-js #hero {
            background-color: #000000;
            background-image: url("vecteezy_green-and-black-background-gradient-illustration.JPG");
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
        }
        .no-js #hero-canvas {
            display: none;
        }

        #hero .btn-cta {
            background-color: var(--or);
            border: none;
            transition: all 0.3s ease;
        }

        #hero .btn-cta:hover {
            background: linear-gradient(135deg, #E3C98C, #C5A059, #93733A);
            color: #FFFFFF !important;
            border: none;
            transform: translateY(-3px);
            box-shadow: 0 8px 28px rgba(197, 160, 89, 0.55);
        }

        #hero .btn-cta,
        #hero .btn-secondary {
            padding: 12px 28px;
            height: 48px;
            transition: all 0.3s ease;
        }
        #hero .btn-cta {
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }
        #hero .btn-secondary {
            background-color: transparent;
            color: #C5A059;
            border: 2px solid rgba(197, 160, 89, 0.6);
            box-shadow: 0 4px 14px rgba(197, 160, 89, 0.25);
        }
        #hero .btn-secondary:not(.hidden) {
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

                #hero .btn-secondary:hover {
            background: linear-gradient(135deg, #E3C98C, #C5A059, #93733A) !important;
            color: #0A3A2F !important;
            border-color: #C5A059;
            transform: translateY(-3px);
            box-shadow: 0 8px 28px rgba(197, 160, 89, 0.55);
        }
        .dark #hero .btn-secondary:hover {
            background: rgba(197, 160, 89, 0.15) !important;
            color: #C5A059 !important;
            border-color: rgba(197, 160, 89, 0.4) !important;
            transform: translateY(-2px);
            box-shadow: 0 4px 16px rgba(197, 160, 89, 0.3);
        }

        .card {
            background: white;
            border: 1px solid rgba(26, 26, 26, 0.06);
            border-radius: 16px;
            padding: 32px;
            transition: all 0.4s ease;
        }
        .card:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
            border-color: rgba(197, 160, 89, 0.3);
        }
        .card.featured {
            border: 2px solid var(--or);
            position: relative;
        }
        .card.featured::before {
            content: '';
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 60px;
            height: 4px;
            background: var(--or);
            border-radius: 0 0 4px 4px;
        }

        .bullet {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 10px;
            height: 10px;
            background: var(--or);
            border-radius: 50%;
            flex-shrink: 0;
            margin-right: 12px;
        }
        .bullet-green { background: var(--or); }

        .faq-item {
            border: 1px solid rgba(26, 26, 26, 0.08);
            border-radius: 12px;
            overflow: hidden;
            background: white;
            transition: all 0.3s ease;
        }
        .faq-item:hover {
            border-color: rgba(197, 160, 89, 0.4);
            background: var(--beige);
        }
        .faq-question {
            width: 100%;
            text-align: left;
            padding: 24px 28px;
            background: transparent;
            border: none;
            font-size: 1.1rem;
            font-weight: 500;
            color: var(--asphalte);
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: background 0.3s ease;
        }
        .faq-question:hover { background: var(--beige-givre); }
        .faq-icon { width: 24px !important; height: 24px !important; transition: transform 0.3s ease; flex-shrink: 0; margin-left: 16px; stroke: var(--foret); }
        .faq-item[open] .faq-icon { transform: rotate(45deg); }
        .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.4s ease; padding: 0 28px; }
        .faq-item[open] .faq-answer { max-height: 500px; }
        .faq-answer p { color: var(--asphalte); line-height: 1.7; padding-bottom: 24px; }

        .modern-table { width: 100%; border-collapse: separate; border-spacing: 0 12px; }
        .modern-table thead th {
            text-align: left; padding: 16px 24px; font-weight: 600; color: var(--asphalte);
            font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.05em;
            border-bottom: 2px solid var(--or);
        }
        .modern-table tbody tr {
            background: white; border: 1px solid rgba(26, 26, 26, 0.06);
            border-radius: 12px; transition: all 0.3s ease;
        }
        .modern-table tbody tr:hover {
            transform: translateX(4px);
            box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06);
            border-color: rgba(197, 160, 89, 0.3);
        }
        .modern-table td { padding: 20px 24px; color: var(--asphalte); vertical-align: middle; }
        .modern-table td:first-child { border-radius: 12px 0 0 12px; }
        .modern-table td:last-child { border-radius: 0 12px 12px 0; }
        .modern-table .service-name { font-weight: 600; font-size: 1.05rem; }
        .modern-table .service-desc { color: rgba(26, 26, 26, 0.6); }
        .modern-table .price { font-weight: 700; color: var(--foret); font-size: 1.1rem; }

        /* Texte « Calculez votre manque à gagner » (service 2) : volontairement
           plus petit que la description, sur tous les écrans, pour ne pas
           allonger excessivement la ligne du service (bat la règle `p{!important}`). */
        .service-leak { font-size: 0.78rem !important; line-height: 1.35 !important; margin: 8px 0 0 0 !important; }
        .service-leak span, .service-leak a { font-size: inherit !important; }

        input[type="range"] {
            -webkit-appearance: none; appearance: none; width: 100%; height: 6px;
            border-radius: 3px; background: rgba(26, 26, 26, 0.1); outline: none;
        }
        input[type="range"]::-webkit-slider-thumb {
            -webkit-appearance: none; appearance: none; width: 22px; height: 22px;
            border-radius: 50%; background: var(--or); cursor: pointer;
            transition: all 0.2s ease; box-shadow: 0 2px 8px rgba(197, 160, 89, 0.4);
        }
        input[type="range"]::-webkit-slider-thumb:hover {
            background: var(--foret); transform: scale(1.15);
            box-shadow: 0 4px 12px rgba(0, 86, 27, 0.4);
        }
        input[type="range"]::-moz-range-thumb {
            width: 22px; height: 22px; border-radius: 50%;
            background: var(--or); cursor: pointer; border: none;
        }
        input[type="range"]::-moz-range-thumb:hover { background: var(--foret); }

/* Custom checkbox accent color */
        input[type="checkbox"] {
            accent-color: var(--or);
        }
        .icon-check { width: 20px !important; height: 20px !important; stroke: var(--or); stroke-width: 2.5; }
        .icon-quote { width: 32px; height: 32px; stroke: var(--or); stroke-width: 1.5; opacity: 0.4; }
        .icon-bullet { width: 12px; height: 12px; background: var(--or); border-radius: 50%; margin-right: 12px; flex-shrink: 0; }
        .icon-bullet-green { background: var(--foret); }

        .section-alt { background: var(--beige); }
        .section-givre { background: var(--beige-givre); }

        /* 🌙 MODE SOMBRE — Épuré */
        .dark body {
            background: #121212;
        }
        .dark .dark-glow {
            background-image:
                radial-gradient(circle at 15% 8%, rgba(197, 160, 89, 0.11), transparent 28%),
                radial-gradient(circle at 85% 92%, rgba(197, 160, 89, 0.08), transparent 32%);
        }
        .dark h1, .dark h2, .dark h3, .dark .text-2xl, .dark .text-xl {
            color: #1e8f4a !important;
        }
        .dark .card, .dark .card.fade-in {
            background: #1e1e1e !important;
            border: 1px solid rgba(255, 255, 255, 0.06) !important;
            transition: transform 0.35s ease, box-shadow 0.35s ease, background-color 0.35s ease, border-color 0.35s ease;
        }
        /* Survol des cards en mode sombre (PC) : une ombre noire serait invisible
           sur fond sombre → on éclaircit légèrement le fond et on ajoute un liseré
           doré pour rendre le léger « lift » perceptible, comme en mode clair. */
        .dark .card:hover, .dark .card.fade-in:hover {
            transform: translateY(-4px);
            background: #262626 !important;
            border-color: rgba(197, 160, 89, 0.45) !important;
            box-shadow: 0 18px 40px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(197, 160, 89, 0.12) !important;
        }
        .dark .section-givre {
            background: #1a1a1a !important;
        }
        .dark .bg-beige, .dark .bg-beige-givre, .dark .bg-beige-creme {
            background: #1a1a1a !important;
        }
        .dark .btn-cta {
            background: linear-gradient(135deg, #C5A059, #a67f35) !important;
            color: #FFFFFF !important;
        }
        .dark .btn-cta:hover {
            background: linear-gradient(135deg, #1e8f4a, #004012) !important;
            color: #FFFFFF !important;
            transform: translateY(-2px);
            box-shadow: 0 6px 24px rgba(0, 86, 27, 0.5);
        }
        .dark .btn-gold-green-hover {
            background: linear-gradient(135deg, #E3C98C, #C5A059) !important;
            color: #FFFFFF !important;
        }
        .dark .btn-gold-green-hover:hover {
            background: linear-gradient(135deg, #1e8f4a, #004012) !important;
            color: #FFFFFF !important;
            transform: translateY(-2px);
            box-shadow: 0 6px 24px rgba(0, 86, 27, 0.5);
        }
        .dark .btn-secondary {
            background: transparent !important;
            border: 1px solid rgba(197, 160, 89, 0.3) !important;
            color: #C5A059 !important;
        }
       .dark .btn-secondary:hover {
            background: rgba(197, 160, 89, 0.15) !important;
            color: #C5A059 !important;
            border-color: rgba(197, 160, 89, 0.4) !important;
            transform: translateY(-2px);
            box-shadow: 0 4px 16px rgba(197, 160, 89, 0.3);
        }
        .dark .btn-ghost {
            background: transparent !important;
            border: 1px solid rgba(197, 160, 89, 0.25) !important;
            color: #F3F4F6 !important;
        }
       .dark .btn-ghost:hover {
            background: linear-gradient(135deg, #E3C98C, #C5A059, #a67f35) !important;
            color: #FFFFFF !important;
            transform: translateY(-2px);
            box-shadow: 0 6px 24px rgba(197, 160, 89, 0.5);
        }
        .dark a:not(.btn-cta):not(.btn-secondary):not(.btn-ghost):not(.back-home):not(.error-btn) {
            color: #F3F4F6 !important;
        }
        .dark a:not(.btn-cta):not(.btn-secondary):not(.btn-ghost):not(.back-home):not(.error-btn):hover {
            color: #C5A059 !important;
        }
        .dark .text-asphalte, .dark p:not([class*="text-blanc"]) {
            color: #d1d5db !important;
        }
        .dark .text-asphalte\/70, .dark .text-asphalte\/60, .dark .text-asphalte\/50,
        .dark .text-asphalte\/40, .dark .text-asphalte\/30 {
            color: rgba(209, 213, 219, 0.7) !important;
        }
        .dark .modern-table tbody tr {
            background: #1e1e1e !important;
            border-color: rgba(255, 255, 255, 0.06) !important;
        }
        .dark .modern-table td {
            color: #d1d5db !important;
        }
        .dark .modern-table tbody tr:hover {
            border-color: rgba(197, 160, 89, 0.3) !important;
        }
        .dark header {
            background: rgba(18, 18, 18, 0.95) !important;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
        }
        .dark footer {
            background: #1a1a1a !important;
            border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
        }
        .dark input, .dark textarea, .dark select {
            background: #1a1a1a !important;
            border-color: rgba(255, 255, 255, 0.1) !important;
            color: #d1d5db !important;
        }
        .dark .btn-discuss, .dark .btn-choose {
            background: transparent !important;
            border: 1px solid rgba(197, 160, 89, 0.3) !important;
            color: #C5A059 !important;
        }
        .dark .btn-discuss:hover, .dark .btn-choose:hover {
            background: rgba(197, 160, 89, 0.12) !important;
            color: #C5A059 !important;
            border-color: rgba(197, 160, 89, 0.5) !important;
        }
        .dark .faq-question {
            color: #1e8f4a !important;
        }
        .dark .faq-answer {
            color: rgba(209, 213, 219, 0.8) !important;
        }
        .dark .text-blanc-casse {
            color: #F3F4F6 !important;
        }
        .dark .text-blanc-casse\/70 {
            color: rgba(243, 244, 246, 0.7) !important;
        }
        .dark a[data-key="footer-legal"],
        .dark a[data-key="footer-404"] {
            color: rgba(209, 213, 219, 0.85) !important;
        }
        .dark a[data-key="footer-legal"]:hover,
        .dark a[data-key="footer-404"]:hover {
            color: #C5A059 !important;
        }
        .dark #services-selected-text {
            color: rgba(209, 213, 219, 0.7) !important;
        }
        .dark .max-w-3xl .faq-question span,
        .dark .max-w-3xl details span[data-key^="faq"] {
            color: #1e8f4a !important;
        }
        .dark .max-w-3xl details p[data-key^="faq"] {
            color: rgba(209, 213, 219, 0.85) !important;
        }
        .dark .faq-item {
            background: #1e1e1e !important;
            border-color: rgba(255, 255, 255, 0.06) !important;
        }
        .dark .faq-question {
            background: transparent !important;
        }
        .dark .faq-question:hover {
            background: rgba(255, 255, 255, 0.04) !important;
        }
        .dark .faq-answer {
            background: transparent !important;
        }
        .dark #services-dropdown-btn {
            background: #1a1a1a !important;
            border-color: rgba(255, 255, 255, 0.1) !important;
        }
        .dark #services-dropdown-btn:hover {
            border-color: rgba(197, 160, 89, 0.3) !important;
        }
        .dark #services-dropdown-menu {
            background: #1a1a1a !important;
            border-color: rgba(197, 160, 89, 0.2) !important;
        }
        .dark #services-dropdown-menu label,
        .dark #services-dropdown-menu .flex.items-center {
            color: #d1d5db !important;
        }
        .dark #services-dropdown-menu .hover\:bg-beige-givre:hover {
            background: rgba(197, 160, 89, 0.08) !important;
        }

        /* Custom currency dropdown */
        .currency-trigger { display: flex; align-items: center; gap: 4px; cursor: pointer; }
        .currency-trigger:hover { background: rgba(26, 26, 26, 0.1) !important; }
        .currency-dropdown { position: absolute; z-index: 50; background: white; border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,0.12); overflow: hidden; min-width: 180px; }
        .currency-dropdown button { width: 100%; text-align: left; padding: 8px 14px; border: none; background: transparent; cursor: pointer; font-size: 0.875rem; color: var(--asphalte); transition: background 0.15s; display: flex; align-items: center; gap: 8px; }
        .currency-dropdown button:hover { background: rgba(0, 86, 27, 0.12); color: var(--foret); }
        .currency-dropdown button.active { background: var(--accent); color: white; }
        .currency-dropdown button.active:hover { background: #004a17; color: white; }

        /* Dark mode - currency trigger */
        .dark .currency-trigger { color: #d1d5db !important; }
        .dark .currency-trigger:hover { background: rgba(255, 255, 255, 0.08) !important; }
        .dark .currency-dropdown { background: #1a1a1a !important; box-shadow: 0 8px 24px rgba(197, 160, 89, 0.12) !important; }
        .dark .currency-dropdown button { color: #d1d5db !important; }
        .dark .currency-dropdown button:hover { background: rgba(197, 160, 89, 0.18) !important; color: #C5A059 !important; }
        .dark .currency-dropdown button.active { background: #00702a !important; color: white !important; }
        .dark .currency-dropdown button.active:hover { background: #008a33 !important; color: white !important; }
        .dark #currency-select-mobile-menu,
        .dark #currency-select-mobile-header {
            background: #1a1a1a !important;
            border-color: rgba(197, 160, 89, 0.2) !important;
            color: #d1d5db !important;
        }

        /* Mobile services accordion (cards) */
        .service-card { background: #fff; border: 1px solid rgba(26, 26, 26, 0.1); border-radius: 16px; overflow: hidden; transition: box-shadow 0.2s ease, border-color 0.2s ease; }
        .dark .service-card { background: #1e1e1e; border-color: rgba(255, 255, 255, 0.1); }
        .service-card > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; cursor: pointer; list-style: none; }
        .service-card > summary::-webkit-details-marker { display: none; }
        .service-card .sc-name { font-weight: 600; color: var(--asphalte); min-width: 0; word-break: break-word; }
        .dark .service-card .sc-name { color: #e5e7eb; }
        .service-card .sc-price { font-weight: 700; color: var(--foret); white-space: nowrap; font-size: 1rem; }
        .dark .service-card .sc-price { color: #C5A059; }
        .service-card .sc-chevron { width: 20px; height: 20px; color: rgba(26, 26, 26, 0.5); transition: transform 0.2s ease; flex-shrink: 0; }
        .dark .service-card .sc-chevron { color: rgba(209, 213, 219, 0.7); }
        .service-card .sc-body { padding: 12px 16px 16px; border-top: 1px solid rgba(26, 26, 26, 0.06); }
        .dark .service-card .sc-body { border-color: rgba(255, 255, 255, 0.06); }
        .service-card[open] .sc-chevron { transform: rotate(180deg); }
        .service-card[open] { box-shadow: 0 10px 30px rgba(0, 86, 27, 0.12); border-color: rgba(0, 86, 27, 0.35); }
        .dark #theme-toggle-mobile {
            color: rgba(209, 213, 219, 0.7) !important;
        }
        .dark #theme-toggle-mobile:hover {
            color: #C5A059 !important;
        }

        .fade-in { animation: fadeIn 0.6s ease-out forwards; opacity: 1; }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        :focus-visible { outline: 2px solid var(--foret); outline-offset: 2px; }

        footer address p,
        footer address [data-key="contact-address"],
        footer address [data-key="contact-vat"],
        footer address [data-key="footer-city-country"] {
            margin: 0 !important;
        }
        /* Override the global p margin-bottom for contact-address in the main section */
        #contact [data-key="contact-address"] {
            margin-bottom: 0 !important;
        }
