﻿/* === RESET & BASE === */
        *,
        *::before,
        *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: 'Inter', sans-serif;
            color: #2E2520;
            background: #FFFFFF;
        }

        a {
            text-decoration: none;
        }

        /* === SHARED COMPONENTS === */
        .highlight-word {
            background: rgba(0, 168, 150, 0.08);
            color: #00A896;
            padding: 0 0.35rem;
            border-radius: 4px;
            font-family: 'Playfair Display', serif;
            font-style: italic;
            font-weight: 400;
        }

        .pill-button {
            background: #2E2520;
            color: #FFFFFF;
            padding: 0.85rem 1.75rem;
            border-radius: 30px;
            font-size: 0.875rem;
            font-weight: 600;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            transition: all 0.25s ease;
            cursor: pointer;
        }

        .pill-button:hover {
            background: #8B4513;
            transform: translateY(-1px);
            box-shadow: 0 8px 24px rgba(139, 69, 19, 0.2);
        }

        .pill-button-outline {
            background: transparent;
            color: #2E2520;
            padding: 0.85rem 1.75rem;
            border-radius: 30px;
            border: 1.5px solid rgba(46, 37, 32, 0.2);
            font-size: 0.875rem;
            font-weight: 600;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            transition: all 0.25s ease;
            cursor: pointer;
        }

        .pill-button-outline:hover {
            border-color: #8B4513;
            color: #8B4513;
        }

        .section-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: rgba(139, 69, 19, 0.06);
            color: #8B4513;
            font-size: 0.72rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            padding: 0.42rem 1rem;
            border-radius: 30px;
            margin-bottom: 1.5rem;
        }

        .section-title {
            font-size: clamp(2rem, 5vw, 3.4rem);
            font-weight: 900;
            color: #2E2520;
            line-height: 1.1;
            letter-spacing: -0.03em;
        }

        .section-sub {
            font-size: 1.05rem;
            font-weight: 400;
            color: rgba(46, 37, 32, 0.6);
            line-height: 1.7;
            max-width: 580px;
        }

        .text-link {
            color: #2E2520;
            font-size: 0.875rem;
            font-weight: 700;
            border-bottom: 1px solid rgba(46, 37, 32, 0.2);
            padding-bottom: 2px;
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            transition: all 0.2s;
        }

        .text-link:hover {
            color: #8B4513;
            border-color: rgba(139, 69, 19, 0.4);
        }

        .text-link i {
            font-size: 0.72rem;
        }

        .container {
            max-width: 1100px;
            margin: 0 auto;
            padding: 0 1.5rem;
        }

        /* === NAVBAR === */
        .premium-header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            background: rgba(255, 255, 255, 0.97);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(139, 69, 19, 0.08);
            z-index: 1000;
        }

        .header-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 1.5rem;
            height: 72px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .header-logo {
            font-size: 1.3rem;
            font-weight: 900;
            color: #2E2520;
            letter-spacing: -0.04em;
            line-height: 1;
        }

        .header-logo em {
            font-style: italic;
            font-family: 'Playfair Display', serif;
            color: #8B4513;
        }

        .nav-menu {
            display: flex;
            align-items: center;
            gap: 0.1rem;
            list-style: none;
        }

        .nav-item {
            position: relative;
        }

        .nav-link {
            font-size: 0.875rem;
            font-weight: 500;
            color: rgba(46, 37, 32, 0.7);
            display: flex;
            align-items: center;
            gap: 0.3rem;
            padding: 0.5rem 0.75rem;
            transition: color 0.2s;
            white-space: nowrap;
            cursor: pointer;
        }

        .nav-link:hover {
            color: #8B4513;
        }

        .nav-link i {
            font-size: 0.58rem;
            opacity: 0.6;
            transition: transform 0.2s;
        }

        .nav-item:hover .nav-link i {
            transform: rotate(180deg);
        }

        .dropdown-menu {
            position: absolute;
            top: calc(100% + 8px);
            left: 50%;
            transform: translateX(-50%) translateY(-6px);
            background: #FFFFFF;
            border: 1px solid rgba(139, 69, 19, 0.1);
            box-shadow: 0 20px 40px rgba(46, 37, 32, 0.08);
            border-radius: 8px;
            padding: 0.5rem 0;
            min-width: 215px;
            list-style: none;
            opacity: 0;
            visibility: hidden;
            transition: all 0.22s;
            z-index: 200;
        }

        .nav-item:hover .dropdown-menu {
            opacity: 1;
            visibility: visible;
            transform: translateX(-50%) translateY(0);
        }

        .dropdown-link {
            font-size: 0.875rem;
            font-weight: 500;
            color: rgba(46, 37, 32, 0.75);
            padding: 0.65rem 1.25rem;
            display: block;
            transition: all 0.18s;
        }

        .dropdown-link:hover {
            background: #FDFCFB;
            color: #8B4513;
        }

        .nav-sep {
            width: 1px;
            height: 20px;
            background: rgba(139, 69, 19, 0.12);
            margin: 0 0.5rem;
            flex-shrink: 0;
        }

        .cta-pill {
            background: #2E2520;
            color: #FFFFFF;
            padding: 0.62rem 1.3rem;
            border-radius: 30px;
            font-size: 0.82rem;
            font-weight: 600;
            transition: all 0.25s;
            white-space: nowrap;
        }

        .cta-pill:hover {
            background: #8B4513;
            transform: translateY(-1px);
            box-shadow: 0 6px 20px rgba(139, 69, 19, 0.2);
        }

        .mobile-toggle {
            display: none;
            background: none;
            border: none;
            color: #2E2520;
            font-size: 1.2rem;
            cursor: pointer;
            padding: 0.4rem;
        }

        .mobile-menu {
            display: none;
            background: #FFFFFF;
            border-top: 1px solid rgba(139, 69, 19, 0.07);
        }

        .mobile-menu.open {
            display: block;
        }

        .mobile-menu-inner {
            padding: 0.75rem 0 1.5rem;
        }

        .mobile-link {
            display: block;
            font-size: 0.9rem;
            font-weight: 500;
            color: rgba(46, 37, 32, 0.75);
            padding: 0.7rem 1.5rem;
            transition: color 0.2s;
        }

        .mobile-link:hover {
            color: #8B4513;
        }

        .mobile-section-label {
            font-size: 0.68rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(46, 37, 32, 0.3);
            padding: 1rem 1.5rem 0.25rem;
        }

        .mobile-sub-link {
            display: block;
            font-size: 0.875rem;
            color: rgba(46, 37, 32, 0.65);
            padding: 0.5rem 2.25rem;
            transition: color 0.2s;
        }

        .mobile-sub-link:hover {
            color: #8B4513;
        }

        .mobile-divider {
            height: 1px;
            background: rgba(139, 69, 19, 0.07);
            margin: 0.5rem 1.5rem;
        }

        .mobile-cta-wrap {
            padding: 1.25rem 1.5rem 0;
        }

        .mobile-cta {
            display: block;
            text-align: center;
            background: #2E2520;
            color: #FFFFFF;
            font-size: 0.875rem;
            font-weight: 600;
            padding: 0.85rem;
            border-radius: 30px;
            transition: background 0.25s;
        }

        .mobile-cta:hover {
            background: #8B4513;
        }

        @media (max-width: 900px) {

            .nav-menu,
            .nav-sep,
            .cta-pill {
                display: none !important;
            }

            .mobile-toggle {
                display: block;
            }
        }

        @media (min-width: 901px) {
            .mobile-menu {
                display: none !important;
            }
        }

        /* === 1. HERO === */
        .hero-section {
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 10rem 1.5rem 6rem;
            position: relative;
            background: #FFFFFF;
            overflow: hidden;
        }

        .hero-section::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: radial-gradient(rgba(46, 37, 32, 0.055) 1px, transparent 1px);
            background-size: 32px 32px;
            pointer-events: none;
            z-index: 0;
        }

        .hero-inner {
            max-width: 860px;
            width: 100%;
            margin: 0 auto;
            text-align: center;
            position: relative;
            z-index: 1;
        }

        .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: rgba(139, 69, 19, 0.06);
            color: #8B4513;
            font-size: 0.72rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            padding: 0.42rem 1rem;
            border-radius: 30px;
            margin-bottom: 2.5rem;
        }

        .hero-badge::before {
            content: '';
            width: 6px;
            height: 6px;
            background: #00A896;
            border-radius: 50%;
            flex-shrink: 0;
        }

        .hero-headline {
            font-size: clamp(3.2rem, 9vw, 7rem);
            font-weight: 900;
            color: #2E2520;
            line-height: 0.95;
            letter-spacing: -0.04em;
            margin-bottom: 2rem;
        }

        .hero-sub {
            font-size: clamp(1rem, 2.2vw, 1.15rem);
            font-weight: 400;
            color: rgba(46, 37, 32, 0.6);
            line-height: 1.7;
            max-width: 560px;
            margin: 0 auto 3rem;
        }

        .hero-sub strong {
            color: #2E2520;
            font-weight: 700;
        }

        .hero-rule {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            border-top: 1px solid rgba(139, 69, 19, 0.1);
            border-bottom: 1px solid rgba(139, 69, 19, 0.1);
            margin-bottom: 3.5rem;
            text-align: left;
        }

        .hero-rule-item {
            padding: 1.5rem;
        }

        .hero-rule-item:not(:last-child) {
            border-right: 1px solid rgba(139, 69, 19, 0.1);
        }

        .hero-rule-num {
            display: block;
            font-size: 0.7rem;
            font-weight: 700;
            color: rgba(139, 69, 19, 0.4);
            text-transform: uppercase;
            letter-spacing: 0.06em;
            margin-bottom: 0.35rem;
        }

        .hero-rule-label {
            font-size: 0.95rem;
            font-weight: 700;
            color: #2E2520;
        }

        .hero-rule-desc {
            font-size: 0.82rem;
            color: rgba(46, 37, 32, 0.55);
            margin-top: 0.25rem;
            line-height: 1.55;
        }

        .hero-cta-group {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 1.25rem;
            flex-wrap: wrap;
        }

        .hero-scroll {
            position: absolute;
            bottom: 2.5rem;
            right: 2.5rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.75rem;
            opacity: 0.3;
            pointer-events: none;
        }

        .hero-scroll span {
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 0.3em;
            color: #2E2520;
            writing-mode: vertical-lr;
        }

        .hero-scroll-line {
            width: 1px;
            height: 4rem;
            background: linear-gradient(to bottom, #8B4513, transparent);
        }

        /* === 2. PROBLÈME === */
        .problem-section {
            padding: 8rem 0;
            background: #FDFCFB;
        }

        .problem-header {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: end;
            margin-bottom: 5rem;
        }

        .problem-stat {
            font-size: clamp(3.5rem, 8vw, 6rem);
            font-weight: 900;
            color: #2E2520;
            letter-spacing: -0.04em;
            line-height: 1;
        }

        .problem-stat span {
            color: #00A896;
        }

        .problem-stat-label {
            font-size: 1rem;
            font-weight: 400;
            color: rgba(46, 37, 32, 0.55);
            margin-top: 0.75rem;
            line-height: 1.6;
        }

        .problem-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            border-top: 1px solid rgba(139, 69, 19, 0.1);
            border-bottom: 1px solid rgba(139, 69, 19, 0.1);
        }

        .problem-item {
            padding: 2.5rem 2rem;
        }

        .problem-item:not(:last-child) {
            border-right: 1px solid rgba(139, 69, 19, 0.1);
        }

        .problem-icon {
            font-size: 1.4rem;
            color: rgba(139, 69, 19, 0.3);
            margin-bottom: 1.25rem;
        }

        .problem-item h3 {
            font-size: 1.05rem;
            font-weight: 700;
            color: #2E2520;
            margin-bottom: 0.65rem;
        }

        .problem-item p {
            font-size: 0.9rem;
            color: rgba(46, 37, 32, 0.6);
            line-height: 1.65;
        }

        /* === 3. SOLUTION / CE QU'ON FAIT === */
        .solution-section {
            padding: 8rem 0;
            background: #FFFFFF;
        }

        .solution-header {
            text-align: center;
            max-width: 680px;
            margin: 0 auto 5rem;
        }

        .solution-header .section-sub {
            margin: 1.25rem auto 0;
        }

        .solution-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            border-top: 1px solid rgba(139, 69, 19, 0.1);
            border-bottom: 1px solid rgba(139, 69, 19, 0.1);
        }

        .solution-item {
            padding: 3rem 2.5rem;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            min-height: 240px;
            transition: background 0.25s;
        }

        .solution-item:hover {
            background: #FDFCFB;
        }

        .solution-item:nth-child(odd) {
            border-right: 1px solid rgba(139, 69, 19, 0.1);
        }

        .solution-item:not(:nth-last-child(-n+2)) {
            border-bottom: 1px solid rgba(139, 69, 19, 0.1);
        }

        .solution-item-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 1.25rem;
        }

        .solution-num {
            font-size: 0.75rem;
            font-weight: 700;
            color: rgba(139, 69, 19, 0.4);
            text-transform: uppercase;
            letter-spacing: 0.06em;
        }

        .solution-icon {
            font-size: 1.15rem;
            color: #8B4513;
        }

        .solution-item h3 {
            font-size: 1.15rem;
            font-weight: 700;
            color: #2E2520;
            margin-bottom: 0.65rem;
        }

        .solution-item p {
            font-size: 0.9rem;
            color: rgba(46, 37, 32, 0.65);
            line-height: 1.65;
        }

        .solution-arrow {
            color: #8B4513;
            font-size: 0.875rem;
            font-weight: 700;
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            margin-top: 1.5rem;
            transition: gap 0.2s;
        }

        .solution-item:hover .solution-arrow {
            gap: 0.7rem;
        }

        /* === 4. RÉALISATIONS === */
        .portfolio-section {
            padding: 8rem 0;
            background: #FDFCFB;
        }

        .portfolio-header {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            margin-bottom: 4rem;
            flex-wrap: wrap;
            gap: 1.5rem;
        }

        .portfolio-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1rem;
            margin-bottom: 3rem;
        }

        .portfolio-card {
            background: #FFFFFF;
            border: 1px solid rgba(139, 69, 19, 0.1);
            overflow: hidden;
            transition: all 0.3s;
        }

        .portfolio-card:hover {
            box-shadow: 0 12px 40px rgba(46, 37, 32, 0.08);
            transform: translateY(-2px);
        }

        .portfolio-card-img {
            width: 100%;
            height: 190px;
            background: rgba(139, 69, 19, 0.04);
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            position: relative;
        }

        .portfolio-card-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: top;
            transition: transform 0.5s;
        }

        .portfolio-card:hover .portfolio-card-img img {
            transform: scale(1.04);
        }

        .portfolio-card-body {
            padding: 1.25rem;
        }

        .portfolio-card-tag {
            font-size: 0.65rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(139, 69, 19, 0.5);
            margin-bottom: 0.4rem;
        }

        .portfolio-card-body h3 {
            font-size: 0.95rem;
            font-weight: 700;
            color: #2E2520;
            margin-bottom: 0.35rem;
        }

        .portfolio-card-body p {
            font-size: 0.82rem;
            color: rgba(46, 37, 32, 0.6);
            line-height: 1.55;
        }

        .portfolio-center {
            text-align: center;
        }

        /* badges */
        .porto-badge {
            position: absolute;
            top: 0.65rem;
            left: 0.65rem;
            font-size: 0.6rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.07em;
            padding: 0.25rem 0.6rem;
            border-radius: 30px;
            z-index: 2;
        }

        .porto-badge.online {
            background: rgba(0, 168, 150, 0.14);
            color: #00A896;
        }

        .porto-badge.concept {
            background: rgba(139, 69, 19, 0.1);
            color: #8B4513;
        }

        /* concept wireframe visual */
        .portfolio-concept {
            background: linear-gradient(140deg, #F8F4EF 0%, #EDE6DB 100%);
        }

        .cv-wrap {
            width: 76%;
            pointer-events: none;
        }

        .cv-bar {
            height: 16px;
            background: rgba(0, 168, 150, 0.18);
            border-radius: 3px;
            margin-bottom: 10px;
        }

        .cv-line {
            height: 6px;
            background: rgba(46, 37, 32, 0.09);
            border-radius: 30px;
            margin-bottom: 6px;
        }

        .cv-line.w60 {
            width: 60%;
        }

        .cv-line.w40 {
            width: 40%;
        }

        .cv-line.w50 {
            width: 50%;
        }

        .cv-line.w30 {
            width: 30%;
        }

        .cv-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 6px;
            margin-top: 8px;
        }

        .cv-block {
            height: 32px;
            background: rgba(0, 168, 150, 0.09);
            border-radius: 3px;
        }

        .cv-block.brown {
            background: rgba(139, 69, 19, 0.08);
        }

        /* === 5. TARIFS TEASER === */
        .pricing-section {
            padding: 8rem 0;
            background: #FFFFFF;
        }

        .pt-wrap {
            display: grid;
            grid-template-columns: 1fr 1.6fr;
            border: 1px solid rgba(139, 69, 19, 0.1);
        }

        .pt-left {
            padding: 4rem 3rem;
            background: #FDFCFB;
            border-right: 1px solid rgba(139, 69, 19, 0.1);
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .pt-from {
            font-size: 0.9rem;
            color: rgba(46, 37, 32, 0.5);
            margin-bottom: 0.35rem;
            margin-top: 0.75rem;
        }

        .pt-amount {
            font-size: clamp(2.2rem, 4vw, 3rem);
            font-weight: 900;
            color: #2E2520;
            letter-spacing: -0.04em;
            line-height: 1;
        }

        .pt-amount small {
            font-size: 1rem;
            font-weight: 400;
        }

        .pt-note {
            font-size: 0.82rem;
            color: rgba(46, 37, 32, 0.4);
            margin-top: 1.5rem;
            line-height: 1.65;
        }

        .pt-right {
            padding: 4rem 3rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 0;
        }

        .pt-pack {
            display: flex;
            align-items: center;
            gap: 1rem;
            padding: 1.25rem 1.5rem;
            border-radius: 4px;
            transition: background 0.2s;
            cursor: default;
        }

        .pt-pack:hover {
            background: #FDFCFB;
        }

        .pt-pack.pop {
            background: rgba(0, 168, 150, 0.04);
            border: 1px solid rgba(0, 168, 150, 0.12);
        }

        .pt-check {
            color: #00A896;
            font-size: 0.75rem;
            flex-shrink: 0;
        }

        .pt-info {
            flex: 1;
        }

        .pt-name {
            font-size: 0.975rem;
            font-weight: 700;
            color: #2E2520;
            display: flex;
            align-items: center;
            gap: 0.6rem;
        }

        .pt-pill {
            font-size: 0.6rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            background: #00A896;
            color: #FFF;
            padding: 0.15rem 0.55rem;
            border-radius: 30px;
        }

        .pt-desc {
            font-size: 0.82rem;
            color: rgba(46, 37, 32, 0.5);
            margin-top: 0.15rem;
        }

        .pt-cta {
            margin-top: 2rem;
            padding-top: 2rem;
            border-top: 1px solid rgba(139, 69, 19, 0.08);
            display: flex;
            align-items: center;
            gap: 1.25rem;
            flex-wrap: wrap;
        }

        @media (max-width: 900px) {
            .pt-wrap {
                grid-template-columns: 1fr;
            }

            .pt-left {
                border-right: none;
                border-bottom: 1px solid rgba(139, 69, 19, 0.1);
                padding: 2.5rem 2rem;
            }

            .pt-right {
                padding: 2.5rem 2rem;
            }
        }

        /* === 6. TÉMOIGNAGES === */
        .testimonials-section {
            padding: 8rem 0;
            background: #FDFCFB;
        }

        .testimonials-header {
            text-align: center;
            margin-bottom: 4rem;
        }

        .testimonials-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0;
            border-top: 1px solid rgba(139, 69, 19, 0.1);
            border-bottom: 1px solid rgba(139, 69, 19, 0.1);
        }

        .testimonial-item {
            padding: 2.5rem 2rem;
        }

        .testimonial-item:not(:last-child) {
            border-right: 1px solid rgba(139, 69, 19, 0.1);
        }

        .testimonial-quote {
            font-size: 1.8rem;
            color: rgba(139, 69, 19, 0.15);
            line-height: 1;
            margin-bottom: 1.25rem;
            font-family: 'Playfair Display', serif;
        }

        .testimonial-text {
            font-size: 0.95rem;
            color: rgba(46, 37, 32, 0.75);
            line-height: 1.7;
            font-style: italic;
            margin-bottom: 1.5rem;
            font-family: 'Playfair Display', serif;
        }

        .testimonial-author {
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .testimonial-avatar {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: rgba(139, 69, 19, 0.1);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.85rem;
            font-weight: 700;
            color: #8B4513;
            flex-shrink: 0;
        }

        .testimonial-name {
            font-size: 0.875rem;
            font-weight: 700;
            color: #2E2520;
        }

        .testimonial-role {
            font-size: 0.78rem;
            color: rgba(46, 37, 32, 0.5);
        }

        /* === 7. FAQ === */
        .faq-section {
            padding: 8rem 0;
            background: #FFFFFF;
        }

        .faq-inner {
            display: grid;
            grid-template-columns: 1fr 2fr;
            gap: 6rem;
            align-items: start;
        }

        .faq-list {
            display: flex;
            flex-direction: column;
        }

        .faq-item {
            border-bottom: 1px solid rgba(139, 69, 19, 0.1);
        }

        .faq-item:first-child {
            border-top: 1px solid rgba(139, 69, 19, 0.1);
        }

        .faq-question {
            width: 100%;
            background: none;
            border: none;
            padding: 1.25rem 0;
            text-align: left;
            font-family: 'Inter', sans-serif;
            font-size: 0.95rem;
            font-weight: 600;
            color: #2E2520;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            transition: color 0.2s;
        }

        .faq-question:hover {
            color: #8B4513;
        }

        .faq-question i {
            font-size: 0.75rem;
            color: #8B4513;
            transition: transform 0.25s;
            flex-shrink: 0;
        }

        .faq-item.open .faq-question i {
            transform: rotate(45deg);
        }

        .faq-answer {
            font-size: 0.9rem;
            color: rgba(46, 37, 32, 0.65);
            line-height: 1.7;
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease, padding 0.3s;
        }

        .faq-item.open .faq-answer {
            max-height: 200px;
            padding-bottom: 1.25rem;
        }

        /* === 8. CTA FINAL === */
        .cta-section {
            padding: 8rem 0;
            background: #2E2520;
        }

        .cta-inner {
            text-align: center;
            max-width: 700px;
            margin: 0 auto;
        }

        .cta-section .section-badge {
            background: rgba(255, 255, 255, 0.08);
            color: rgba(255, 255, 255, 0.6);
        }

        .cta-section .section-badge::before {
            content: '';
            width: 6px;
            height: 6px;
            background: #00A896;
            border-radius: 50%;
        }

        .cta-headline {
            font-size: clamp(2rem, 5vw, 3.2rem);
            font-weight: 900;
            color: #FFFFFF;
            letter-spacing: -0.03em;
            line-height: 1.1;
            margin-bottom: 1.5rem;
        }

        .cta-sub {
            font-size: 1.05rem;
            color: rgba(255, 255, 255, 0.55);
            line-height: 1.7;
            margin-bottom: 3rem;
        }

        .cta-group {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 1.25rem;
            flex-wrap: wrap;
        }

        .cta-pill-white {
            background: #FFFFFF;
            color: #2E2520;
            padding: 0.9rem 1.9rem;
            border-radius: 30px;
            font-size: 0.9rem;
            font-weight: 700;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            transition: all 0.25s;
        }

        .cta-pill-white:hover {
            background: #8B4513;
            color: #FFFFFF;
            transform: translateY(-1px);
        }

        .cta-text-link {
            color: rgba(255, 255, 255, 0.5);
            font-size: 0.875rem;
            font-weight: 600;
            border-bottom: 1px solid rgba(255, 255, 255, 0.2);
            padding-bottom: 2px;
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            transition: all 0.2s;
        }

        .cta-text-link:hover {
            color: rgba(255, 255, 255, 0.85);
            border-color: rgba(255, 255, 255, 0.4);
        }

        .cta-trust {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 2rem;
            margin-top: 4rem;
            padding-top: 3rem;
            border-top: 1px solid rgba(255, 255, 255, 0.07);
            flex-wrap: wrap;
        }

        .cta-trust-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.82rem;
            color: rgba(255, 255, 255, 0.4);
        }

        .cta-trust-item i {
            color: #00A896;
            font-size: 0.75rem;
        }

        /* === FOOTER === */
        .footer {
            padding: 3rem 0;
            background: #2E2520;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
        }

        .footer-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 1rem;
        }

        .footer-logo {
            font-size: 1rem;
            font-weight: 900;
            color: rgba(255, 255, 255, 0.7);
            letter-spacing: -0.03em;        }

        .footer-logo em {
            font-style: italic;
            font-family: 'Playfair Display', serif;
            color: rgba(139, 69, 19, 0.7);
        }

        .footer-copy {
            font-size: 0.8rem;
            color: rgba(255, 255, 255, 0.25);
        }

        .footer-links {
            display: flex;
            gap: 1.5rem;
        }

        .footer-links a {
            font-size: 0.82rem;
            color: rgba(255, 255, 255, 0.3);
            transition: color 0.2s;
        }

        .footer-links a:hover {
            color: rgba(255, 255, 255, 0.7);
        }

        /* === RESPONSIVE === */
        @media (max-width: 900px) {
            .problem-header {
                grid-template-columns: 1fr;
                gap: 2rem;
            }

            .problem-grid {
                grid-template-columns: 1fr;
            }

            .problem-item:not(:last-child) {
                border-right: none;
                border-bottom: 1px solid rgba(139, 69, 19, 0.1);
            }

            .solution-grid {
                grid-template-columns: 1fr;
            }

            .solution-item:nth-child(odd) {
                border-right: none;
            }

            .solution-item:not(:last-child) {
                border-bottom: 1px solid rgba(139, 69, 19, 0.1);
            }

            .portfolio-grid {
                grid-template-columns: 1fr 1fr;
            }

            .pricing-grid {
                grid-template-columns: 1fr;
                border: none;
                gap: 1rem;
            }

            .pricing-card {
                border: 1px solid rgba(139, 69, 19, 0.1);
                border-radius: 4px;
            }

            .pricing-card.featured {
                border-color: transparent;
            }

            .testimonials-grid {
                grid-template-columns: 1fr;
            }

            .testimonial-item:not(:last-child) {
                border-right: none;
                border-bottom: 1px solid rgba(139, 69, 19, 0.1);
            }

            .faq-inner {
                grid-template-columns: 1fr;
                gap: 3rem;
            }

            .hero-rule {
                grid-template-columns: 1fr;
            }

            .hero-rule-item:not(:last-child) {
                border-right: none;
                border-bottom: 1px solid rgba(139, 69, 19, 0.1);
            }

            .hero-scroll {
                display: none;
            }

            .portfolio-header {
                flex-direction: column;
                align-items: flex-start;
            }
        }

        @media (max-width: 600px) {
            .portfolio-grid {
                grid-template-columns: 1fr;
            }

            .cta-trust {
                flex-direction: column;
                gap: 1rem;
            }

            .footer-inner {
                flex-direction: column;
                text-align: center;
            }
        }

        /* === SOLUTIONS PAR SECTEUR === */
        .solutions-section {
            padding: 8rem 0;
            background: #FFFFFF;
        }

        .solutions-header {
            text-align: center;
            max-width: 640px;
            margin: 0 auto 4rem;
        }

        .solutions-header .section-sub {
            margin: 1.25rem auto 0;
        }

        .solutions-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            border-top: 1px solid rgba(139, 69, 19, 0.1);
            border-bottom: 1px solid rgba(139, 69, 19, 0.1);
        }

        .sol-card {
            padding: 3rem 2.5rem;
            display: flex;
            flex-direction: column;
            text-decoration: none;
            transition: background 0.25s;
            border-right: 1px solid rgba(139, 69, 19, 0.1);
        }

        .sol-card:last-child {
            border-right: none;
        }

        .sol-card:hover {
            background: #FDFCFB;
        }

        .sol-ico {
            font-size: 1.6rem;
            color: rgba(139, 69, 19, 0.2);
            margin-bottom: 1.5rem;
        }

        .sol-tag {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: #00A896;
            margin-bottom: 0.65rem;
        }

        .sol-card h3 {
            font-size: 1.1rem;
            font-weight: 700;
            color: #2E2520;
            margin-bottom: 0.7rem;
            line-height: 1.25;
        }

        .sol-card p {
            font-size: 0.875rem;
            color: rgba(46, 37, 32, 0.6);
            line-height: 1.65;
            flex: 1;
        }

        .sol-arrow {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            font-size: 0.82rem;
            font-weight: 700;
            color: #8B4513;
            margin-top: 1.75rem;
            transition: gap 0.2s;
        }

        .sol-card:hover .sol-arrow {
            gap: 0.7rem;
        }

        /* === DROPDOWN SOLUTIONS === */
        .dd-sep {
            height: 1px;
            background: rgba(139, 69, 19, 0.08);
            margin: 0.35rem 1.25rem;
            list-style: none;
        }

        .dropdown-link.dd-small {
            font-size: 0.82rem;
            color: rgba(46, 37, 32, 0.5);
            padding: 0.5rem 1.25rem;
        }

        .dropdown-link.dd-small:hover {
            color: #8B4513;
            background: #FDFCFB;
        }

        /* === FOOTER EXPANDED === */
        .footer {
            padding: 4rem 0 0;
            background: #2E2520;
        }

        .footer-top {
            display: grid;
            grid-template-columns: 1.5fr 1fr 1fr 1fr;
            gap: 3rem;
            padding-bottom: 3rem;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        }

        .footer-col-brand {}

        .footer-logo {
            font-size: 1.1rem;
            font-weight: 900;
            color: rgba(255, 255, 255, 0.7);
            letter-spacing: -0.03em;

            margin-bottom: 0.75rem;
            display: block;
        }

        .footer-logo em {
            font-style: italic;
            font-family: 'Playfair Display', serif;
            color: rgba(139, 69, 19, 0.65);
        }

        .footer-tagline {
            font-size: 0.82rem;
            color: rgba(255, 255, 255, 0.25);
            line-height: 1.65;
            max-width: 220px;
            margin-top: 0.5rem;
        }

        .footer-col-title {
            font-size: 0.68rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.28);
            margin-bottom: 1rem;
        }

        .footer-col-link {
            display: block;
            font-size: 0.85rem;
            color: rgba(255, 255, 255, 0.42);
            transition: color 0.2s;
            margin-bottom: 0.5rem;
        }

        a.footer-col-link:hover {
            color: rgba(255, 255, 255, 0.8);
        }

        .footer-bottom {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 1.5rem 0;
            flex-wrap: wrap;
            gap: 0.75rem;
        }

        .footer-copy {
            font-size: 0.8rem;
            color: rgba(255, 255, 255, 0.2);
        }

        .footer-links {
            display: flex;
            gap: 1.5rem;
        }

        .footer-links a {
            font-size: 0.82rem;
            color: rgba(255, 255, 255, 0.22);
            transition: color 0.2s;
        }

        .footer-links a:hover {
            color: rgba(255, 255, 255, 0.65);
        }

        @media (max-width: 900px) {
            .solutions-grid {
                grid-template-columns: 1fr;
            }

            .sol-card {
                border-right: none;
                border-bottom: 1px solid rgba(139, 69, 19, 0.1);
            }

            .sol-card:last-child {
                border-bottom: none;
            }

            .footer-top {
                grid-template-columns: 1fr 1fr;
                gap: 2rem;
            }
        }

        @media (max-width: 600px) {
            .footer-top {
                grid-template-columns: 1fr;
            }

            .footer-bottom {
                flex-direction: column;
                text-align: center;
            }
        }


/* ======================================== */


.figma-showcase-section {
            background-color: #FBF9F6;
            padding: 8rem 0;
            font-family: 'Inter', sans-serif;
            color: #2E2520;
            border-top: 1px solid rgba(139, 69, 19, 0.1);
            border-bottom: 1px solid rgba(139, 69, 19, 0.1);
        }

        .figma-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            margin-top: 5rem;
        }

        /* Le cadre qui simule l'espace de travail Figma */
        .figma-canvas {
            background-color: #E5E5E5;
            /* Le gris classique du fond Figma */
            border: 1px solid rgba(139, 69, 19, 0.15);
            border-radius: 12px;
            padding: 3rem 2rem;
            position: relative;
            overflow: hidden;
            min-height: 400px;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .figma-canvas:hover {
            transform: translateY(-4px);
            box-shadow: 0 30px 60px rgba(139, 69, 19, 0.06);
            border-color: #8B4513;
        }

        /* Simulation du curseur Figma de l'artisan */
        .figma-cursor {
            position: absolute;
            top: 25%;
            right: 20%;
            display: flex;
            flex-direction: column;
            gap: 2px;
            pointer-events: none;
            z-index: 10;
            animation: figma_float 4s infinite ease-in-out;
        }

        .cursor-arrow {
            width: 0;
            height: 0;
            border-left: 7px solid transparent;
            border-right: 7px solid transparent;
            border-bottom: 14px solid #8B4513;
            /* Flèche couleur marron premium */
            transform: rotate(-45deg);
        }

        .cursor-label {
            background: #8B4513;
            color: #FFFFFF;
            font-size: 10px;
            font-weight: 700;
            padding: 3px 8px;
            border-radius: 2px;
            white-space: nowrap;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
        }

        /* L'image ou le conteneur de ta maquette réelle */
        .maquette-wrapper {
            width: 100%;
            max-width: 340px;
            background: #FFFFFF;
            border-radius: 8px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
            overflow: hidden;
            border: 1px solid rgba(0, 0, 0, 0.05);
        }

        /* Badge "En cours de conception" */
        .blueprint-badge {
            position: absolute;
            top: 1.5rem;
            left: 1.5rem;
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: #8B4513;
            background: rgba(139, 69, 19, 0.06);
            padding: 4px 10px;
            border-radius: 4px;
            border: 1px solid rgba(139, 69, 19, 0.1);
        }

        @keyframes figma_float {
            0% {
                transform: translate(0, 0);
            }

            50% {
                transform: translate(-15px, 10px);
            }

            100% {
                transform: translate(0, 0);
            }
        }

        @media (max-width: 992px) {
            .figma-grid {
                grid-template-columns: 1fr;
                gap: 3rem;
            }
        }


/* ======================================== */


.live-portfolio-section {
            background-color: #FFFFFF;
            padding: 8rem 0;
            font-family: 'Inter', sans-serif;
            color: #2E2520;
        }

        .portfolio-showcase-row {
            display: grid;
            grid-template-columns: 1fr 1.2fr;
            gap: 5rem;
            align-items: center;
            padding: 5rem 0;
            border-bottom: 1px solid rgba(139, 69, 19, 0.1);
        }

        .portfolio-showcase-row:first-of-type {
            border-top: 1px solid rgba(139, 69, 19, 0.1);
            margin-top: 4rem;
        }

        .portfolio-showcase-row:last-of-type {
            border-bottom: none;
        }

        .project-meta-tag {
            font-size: 0.8rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: #8B4513;
            margin-bottom: 1rem;
            display: block;
        }

        /* Le cadre premium style "Exposition" pour l'image */
        .project-display-frame {
            background: #FBF9F6;
            border: 1px solid rgba(139, 69, 19, 0.1);
            padding: 3.5rem;
            border-radius: 8px;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .portfolio-showcase-row:hover .project-display-frame {
            background: #FFFFFF;
            box-shadow: 0 30px 60px rgba(139, 69, 19, 0.04);
            border-color: rgba(139, 69, 19, 0.2);
        }

        /* Simulation du navigateur Web */
        .web-browser-mockup {
            background: #FFFFFF;
            border: 1px solid rgba(46, 37, 32, 0.1);
            border-radius: 6px;
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.03);
            overflow: hidden;
        }

        /* Badge Performance Google Style Tech */
        .tech-score-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            font-size: 0.75rem;
            font-weight: 700;
            color: #00A896;
            background: rgba(0, 168, 150, 0.08);
            padding: 4px 10px;
            border-radius: 4px;
            margin-top: 1.5rem;
        }

        .project-tech-stack {
            display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
            margin-top: 1rem;
        }

        .tech-pill {
            font-size: 0.75rem;
            font-weight: 600;
            background: rgba(46, 37, 32, 0.04);
            padding: 4px 10px;
            border-radius: 12px;
            color: rgba(46, 37, 32, 0.6);
        }

        /* Lien externe épuré */
        .live-project-link {
            color: #2E2520;
            text-decoration: none;
            font-size: 0.9rem;
            font-weight: 700;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            margin-top: 2rem;
            transition: color 0.2s ease;
        }

        .live-project-link:hover {
            color: #8B4513;
        }

        @media (max-width: 992px) {
            .portfolio-showcase-row {
                grid-template-columns: 1fr;
                gap: 3rem;
            }

            .project-display-frame {
                padding: 1.5rem;
            }
        }

/* ======================================== */
/* === UTILITY CLASSES (extracted from HTML) === */

/* Figma section header max-width */
.figma-header { max-width: 650px; }

/* Mobile menu sub-label (solutions par secteur) */
.mobile-section-label--sub {
    font-size: 0.6rem;
    padding-top: 0.6rem;
    letter-spacing: 0.12em;
}

/* Pricing section title smaller variant */
.pt-section-title { font-size: clamp(1.6rem, 3.5vw, 2.4rem); }

/* Portfolio project card text */
.project-name {
    font-size: 1.8rem;
    font-weight: 800;
    margin: 0 0 1rem 0;
    letter-spacing: -0.02em;
    color: #2E2520;
}

.project-body {
    color: rgba(46, 37, 32, 0.65);
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
}

/* Browser mockup components */
.browser-bar {
    height: 24px;
    background: #F5F5F5;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: center;
    padding: 0 10px;
    gap: 6px;
}

.browser-dot {
    width: 6px;
    height: 6px;
    background: rgba(46, 37, 32, 0.2);
    border-radius: 50%;
    flex-shrink: 0;
}

.browser-url {
    background: #FFFFFF;
    font-size: 9px;
    color: rgba(46, 37, 32, 0.4);
    padding: 2px 20px;
    border-radius: 3px;
    margin-left: 15px;
    font-weight: 500;
}

/* ============================================================
   DARK MODE TOGGLE BUTTON
   ============================================================ */
.theme-toggle {
    background: none;
    border: 1px solid rgba(46, 37, 32, 0.12);
    color: rgba(46, 37, 32, 0.5);
    width: 34px;
    height: 34px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    transition: all 0.22s ease;
    flex-shrink: 0;
}

.theme-toggle:hover {
    border-color: #8B4513;
    color: #8B4513;
    background: rgba(139, 69, 19, 0.04);
}

/* ============================================================
   DARK MODE — html[data-theme="dark"]
   Palette:
     Deep bg  #0C0B0A   (was #FFFFFF)
     Mid  bg  #131110   (was #FDFCFB)
     Card bg  #1C1915   (subtle lift for cards)
     Text     #EDE8DF   (warm off-white)
     Muted    rgba(237,232,223,0.42)
     Brown    #C07840   (lighter for dark bg readability)
     Teal     #00A896   (unchanged)
     Border   rgba(237,232,223,0.07)
   ============================================================ */

html[data-theme="dark"] body {
    background: #0C0B0A;
    color: #EDE8DF;
}

/* ── NAV ── */
html[data-theme="dark"] .premium-header {
    background: rgba(12, 11, 10, 0.97);
    border-bottom-color: rgba(237, 232, 223, 0.07);
}
html[data-theme="dark"] .header-logo { color: #EDE8DF; }
html[data-theme="dark"] .header-logo em { color: #C07840; }
html[data-theme="dark"] .nav-link { color: rgba(237, 232, 223, 0.5); }
html[data-theme="dark"] .nav-link:hover { color: #C07840; }
html[data-theme="dark"] .nav-link i { opacity: 0.4; }
html[data-theme="dark"] .nav-sep { background: rgba(237, 232, 223, 0.1); }
html[data-theme="dark"] .dropdown-menu {
    background: #1C1915;
    border-color: rgba(237, 232, 223, 0.08);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}
html[data-theme="dark"] .dropdown-link { color: rgba(237, 232, 223, 0.55); }
html[data-theme="dark"] .dropdown-link:hover { background: #242019; color: #C07840; }
html[data-theme="dark"] .dd-sep { background: rgba(237, 232, 223, 0.07); }
html[data-theme="dark"] .dropdown-link.dd-small { color: rgba(237, 232, 223, 0.35); }
html[data-theme="dark"] .dropdown-link.dd-small:hover { color: #C07840; background: #242019; }
html[data-theme="dark"] .cta-pill { background: #EDE8DF; color: #0C0B0A; }
html[data-theme="dark"] .cta-pill:hover { background: #C07840; color: #FFFFFF; box-shadow: 0 6px 20px rgba(192,120,64,0.25); }
html[data-theme="dark"] .mobile-toggle { color: #EDE8DF; }
html[data-theme="dark"] .mobile-menu { background: #0C0B0A; border-color: rgba(237, 232, 223, 0.06); }
html[data-theme="dark"] .mobile-link { color: rgba(237, 232, 223, 0.65); }
html[data-theme="dark"] .mobile-link:hover { color: #C07840; }
html[data-theme="dark"] .mobile-section-label { color: rgba(237, 232, 223, 0.25); }
html[data-theme="dark"] .mobile-sub-link { color: rgba(237, 232, 223, 0.5); }
html[data-theme="dark"] .mobile-sub-link:hover { color: #C07840; }
html[data-theme="dark"] .mobile-divider { background: rgba(237, 232, 223, 0.07); }
html[data-theme="dark"] .mobile-cta { background: #EDE8DF; color: #0C0B0A; }
html[data-theme="dark"] .mobile-cta:hover { background: #C07840; color: #FFFFFF; }
html[data-theme="dark"] .theme-toggle {
    border-color: rgba(237, 232, 223, 0.15);
    color: rgba(237, 232, 223, 0.4);
}
html[data-theme="dark"] .theme-toggle:hover {
    border-color: #C07840;
    color: #C07840;
    background: rgba(192, 120, 64, 0.08);
}

/* ── SHARED COMPONENTS ── */
html[data-theme="dark"] .section-badge {
    background: rgba(192, 120, 64, 0.08);
    color: #C07840;
}
html[data-theme="dark"] .section-badge::before { background: #00A896; }
html[data-theme="dark"] .section-title { color: #EDE8DF; }
html[data-theme="dark"] .section-sub { color: rgba(237, 232, 223, 0.42); }
html[data-theme="dark"] .highlight-word {
    background: rgba(0, 168, 150, 0.1);
    color: #00A896;
}
html[data-theme="dark"] .pill-button { background: #EDE8DF; color: #0C0B0A; }
html[data-theme="dark"] .pill-button:hover { background: #C07840; color: #FFFFFF; box-shadow: 0 8px 24px rgba(192,120,64,0.2); }
html[data-theme="dark"] .pill-button-outline {
    color: rgba(237, 232, 223, 0.7);
    border-color: rgba(237, 232, 223, 0.15);
}
html[data-theme="dark"] .pill-button-outline:hover { border-color: #C07840; color: #C07840; }
html[data-theme="dark"] .text-link { color: rgba(237, 232, 223, 0.7); border-color: rgba(237, 232, 223, 0.18); }
html[data-theme="dark"] .text-link:hover { color: #C07840; border-color: rgba(192, 120, 64, 0.4); }

/* ── HERO ── */
html[data-theme="dark"] .hero-section { background: #0C0B0A; }
html[data-theme="dark"] .hero-section::before {
    background-image: radial-gradient(rgba(237, 232, 223, 0.028) 1px, transparent 1px);
}
html[data-theme="dark"] .hero-badge { background: rgba(192, 120, 64, 0.09); color: #C07840; }
html[data-theme="dark"] .hero-badge::before { background: #00A896; }
html[data-theme="dark"] .hero-headline { color: #EDE8DF; }
html[data-theme="dark"] .hero-sub { color: rgba(237, 232, 223, 0.45); }
html[data-theme="dark"] .hero-sub strong { color: #EDE8DF; font-weight: 700; }
html[data-theme="dark"] .hero-rule {
    border-top-color: rgba(237, 232, 223, 0.07);
    border-bottom-color: rgba(237, 232, 223, 0.07);
}
html[data-theme="dark"] .hero-rule-item:not(:last-child) { border-right-color: rgba(237, 232, 223, 0.07); }
html[data-theme="dark"] .hero-rule-item:not(:last-child):last-child { border-bottom-color: rgba(237, 232, 223, 0.07); }
html[data-theme="dark"] .hero-rule-num { color: rgba(192, 120, 64, 0.4); }
html[data-theme="dark"] .hero-rule-label { color: #EDE8DF; }
html[data-theme="dark"] .hero-rule-desc { color: rgba(237, 232, 223, 0.38); }
html[data-theme="dark"] .hero-scroll span { color: #EDE8DF; }
html[data-theme="dark"] .hero-scroll-line { background: linear-gradient(to bottom, #C07840, transparent); }

/* ── PROBLÈME ── */
html[data-theme="dark"] .problem-section { background: #131110; }
html[data-theme="dark"] .problem-stat { color: #EDE8DF; }
html[data-theme="dark"] .problem-stat span { color: #00A896; }
html[data-theme="dark"] .problem-stat-label { color: rgba(237, 232, 223, 0.42); }
html[data-theme="dark"] .problem-grid {
    border-top-color: rgba(237, 232, 223, 0.07);
    border-bottom-color: rgba(237, 232, 223, 0.07);
}
html[data-theme="dark"] .problem-item:not(:last-child) { border-right-color: rgba(237, 232, 223, 0.07); }
html[data-theme="dark"] .problem-icon { color: rgba(192, 120, 64, 0.22); }
html[data-theme="dark"] .problem-item h3 { color: #EDE8DF; }
html[data-theme="dark"] .problem-item p { color: rgba(237, 232, 223, 0.45); }

/* ── SOLUTION ── */
html[data-theme="dark"] .solution-section { background: #0C0B0A; }
html[data-theme="dark"] .solution-grid {
    border-top-color: rgba(237, 232, 223, 0.07);
    border-bottom-color: rgba(237, 232, 223, 0.07);
}
html[data-theme="dark"] .solution-item:hover { background: #1C1915; }
html[data-theme="dark"] .solution-item:nth-child(odd) { border-right-color: rgba(237, 232, 223, 0.07); }
html[data-theme="dark"] .solution-item:not(:nth-last-child(-n+2)) { border-bottom-color: rgba(237, 232, 223, 0.07); }
html[data-theme="dark"] .solution-num { color: rgba(192, 120, 64, 0.38); }
html[data-theme="dark"] .solution-icon { color: #C07840; }
html[data-theme="dark"] .solution-item h3 { color: #EDE8DF; }
html[data-theme="dark"] .solution-item p { color: rgba(237, 232, 223, 0.45); }
html[data-theme="dark"] .solution-arrow { color: #C07840; }

/* ── SOLUTIONS PAR SECTEUR ── */
html[data-theme="dark"] .solutions-section { background: #131110; }
html[data-theme="dark"] .solutions-grid {
    border-top-color: rgba(237, 232, 223, 0.07);
    border-bottom-color: rgba(237, 232, 223, 0.07);
}
html[data-theme="dark"] .sol-card { border-right-color: rgba(237, 232, 223, 0.07); }
html[data-theme="dark"] .sol-card:hover { background: #1A1714; }
html[data-theme="dark"] .sol-ico { color: rgba(192, 120, 64, 0.2); }
html[data-theme="dark"] .sol-card h3 { color: #EDE8DF; }
html[data-theme="dark"] .sol-card p { color: rgba(237, 232, 223, 0.42); }
html[data-theme="dark"] .sol-arrow { color: #C07840; }
@media (max-width: 900px) {
    html[data-theme="dark"] .sol-card { border-bottom-color: rgba(237, 232, 223, 0.07); }
}

/* ── FIGMA SHOWCASE ── */
html[data-theme="dark"] .figma-showcase-section {
    background-color: #131110;
    border-top-color: rgba(237, 232, 223, 0.07);
    border-bottom-color: rgba(237, 232, 223, 0.07);
}
html[data-theme="dark"] .figma-canvas {
    background-color: #1C1915;
    border-color: rgba(237, 232, 223, 0.08);
}
html[data-theme="dark"] .figma-canvas:hover {
    border-color: #C07840;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
}
html[data-theme="dark"] .blueprint-badge {
    background: rgba(192, 120, 64, 0.08);
    border-color: rgba(192, 120, 64, 0.12);
    color: #C07840;
}

/* ── PORTFOLIO ── */
html[data-theme="dark"] .live-portfolio-section { background-color: #0C0B0A; }
html[data-theme="dark"] .portfolio-showcase-row {
    border-bottom-color: rgba(237, 232, 223, 0.07);
}
html[data-theme="dark"] .portfolio-showcase-row:first-of-type { border-top-color: rgba(237, 232, 223, 0.07); }
html[data-theme="dark"] .project-meta-tag { color: #C07840; }
html[data-theme="dark"] .project-name { color: #EDE8DF; }
html[data-theme="dark"] .project-body { color: rgba(237, 232, 223, 0.5); }
html[data-theme="dark"] .project-display-frame {
    background: #131110;
    border-color: rgba(237, 232, 223, 0.07);
}
html[data-theme="dark"] .portfolio-showcase-row:hover .project-display-frame {
    background: #1C1915;
    border-color: rgba(237, 232, 223, 0.14);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.3);
}
html[data-theme="dark"] .web-browser-mockup {
    background: #0C0B0A;
    border-color: rgba(237, 232, 223, 0.08);
}
html[data-theme="dark"] .browser-bar {
    background: #1C1915;
    border-bottom-color: rgba(237, 232, 223, 0.06);
}
html[data-theme="dark"] .browser-dot { background: rgba(237, 232, 223, 0.15); }
html[data-theme="dark"] .browser-url {
    background: #131110;
    color: rgba(237, 232, 223, 0.3);
}
html[data-theme="dark"] .tech-pill {
    background: rgba(237, 232, 223, 0.05);
    color: rgba(237, 232, 223, 0.45);
}
html[data-theme="dark"] .live-project-link { color: #EDE8DF; }
html[data-theme="dark"] .live-project-link:hover { color: #C07840; }

/* ── TARIFS ── */
html[data-theme="dark"] .pricing-section { background: #0C0B0A; }
html[data-theme="dark"] .pt-wrap { border-color: rgba(237, 232, 223, 0.07); }
html[data-theme="dark"] .pt-left {
    background: #131110;
    border-right-color: rgba(237, 232, 223, 0.07);
}
html[data-theme="dark"] .pt-from { color: rgba(237, 232, 223, 0.38); }
html[data-theme="dark"] .pt-amount { color: #EDE8DF; }
html[data-theme="dark"] .pt-note { color: rgba(237, 232, 223, 0.28); }
html[data-theme="dark"] .pt-pack:hover { background: #1C1915; }
html[data-theme="dark"] .pt-pack.pop {
    background: rgba(0, 168, 150, 0.05);
    border-color: rgba(0, 168, 150, 0.1);
}
html[data-theme="dark"] .pt-name { color: #EDE8DF; }
html[data-theme="dark"] .pt-desc { color: rgba(237, 232, 223, 0.38); }
html[data-theme="dark"] .pt-cta { border-top-color: rgba(237, 232, 223, 0.07); }
@media (max-width: 900px) {
    html[data-theme="dark"] .pt-left { border-bottom-color: rgba(237, 232, 223, 0.07); }
}

/* ── TÉMOIGNAGES ── */
html[data-theme="dark"] .testimonials-section { background: #131110; }
html[data-theme="dark"] .testimonials-grid {
    border-top-color: rgba(237, 232, 223, 0.07);
    border-bottom-color: rgba(237, 232, 223, 0.07);
}
html[data-theme="dark"] .testimonial-item:not(:last-child) { border-right-color: rgba(237, 232, 223, 0.07); }
html[data-theme="dark"] .testimonial-quote { color: rgba(192, 120, 64, 0.12); }
html[data-theme="dark"] .testimonial-text { color: rgba(237, 232, 223, 0.6); }
html[data-theme="dark"] .testimonial-avatar {
    background: rgba(192, 120, 64, 0.1);
    color: #C07840;
}
html[data-theme="dark"] .testimonial-name { color: #EDE8DF; }
html[data-theme="dark"] .testimonial-role { color: rgba(237, 232, 223, 0.38); }
@media (max-width: 900px) {
    html[data-theme="dark"] .testimonial-item:not(:last-child) { border-bottom-color: rgba(237, 232, 223, 0.07); }
}

/* ── FAQ ── */
html[data-theme="dark"] .faq-section { background: #0C0B0A; }
html[data-theme="dark"] .faq-item { border-bottom-color: rgba(237, 232, 223, 0.07); }
html[data-theme="dark"] .faq-item:first-child { border-top-color: rgba(237, 232, 223, 0.07); }
html[data-theme="dark"] .faq-question { color: #EDE8DF; }
html[data-theme="dark"] .faq-question:hover { color: #C07840; }
html[data-theme="dark"] .faq-question i { color: #C07840; }
html[data-theme="dark"] .faq-answer { color: rgba(237, 232, 223, 0.45); }

/* ── CTA FINAL ── */
html[data-theme="dark"] .cta-section { background: #080706; }
html[data-theme="dark"] .cta-section .section-badge {
    background: rgba(237, 232, 223, 0.05);
    color: rgba(237, 232, 223, 0.4);
}
html[data-theme="dark"] .cta-trust { border-top-color: rgba(237, 232, 223, 0.05); }

/* ── FOOTER ── */
html[data-theme="dark"] .footer { background: #080706; border-top-color: rgba(237, 232, 223, 0.05); }

/* ── SMOOTH TRANSITION ── */
html {
    transition: background-color 0.25s ease, color 0.25s ease;
}
body, .premium-header, .hero-section, .problem-section, .solution-section,
.solutions-section, .figma-showcase-section, .live-portfolio-section,
.pricing-section, .testimonials-section, .faq-section, .cta-section, .footer,
.dropdown-menu, .mobile-menu, .pt-left, .pt-right, .solution-item,
.sol-card, .figma-canvas, .project-display-frame, .browser-bar, .browser-url {
    transition: background-color 0.25s ease, background 0.25s ease,
                border-color 0.25s ease, color 0.2s ease;
}
