:root {
            --green: #1a3d0f;
            --cream: #f5f3ef;
            --gold: #c9a961;
            --text: #2c2c2c;
        }

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

        html {
            scroll-behavior: smooth;
            scrollbar-width: none;
            -ms-overflow-style: none;
        }
        html::-webkit-scrollbar {
            display: none;
        }

        body {
            font-family: 'Montserrat', sans-serif;
            background: var(--cream);
            color: var(--text);
            overflow-x: hidden;
        }

        /* Navigation */
        nav {
            position: fixed;
            top: 0;
            width: 100%;
            z-index: 1000;
            background: rgba(245, 243, 239, 0.95);
            backdrop-filter: blur(10px);
            padding: 25px 60px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            border-bottom: 1px solid rgba(0,0,0,0.05);
        }

        .logo {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.3rem;
            font-weight: 600;
            letter-spacing: 2px;
            color: var(--green);
        }

        .nav-links {
            display: flex;
            gap: 50px;
            list-style: none;
        }

        .nav-links a {
            color: var(--text);
            text-decoration: none;
            font-size: 0.85rem;
            letter-spacing: 2px;
            text-transform: uppercase;
            font-weight: 300;
            transition: color 0.3s ease;
        }

        .nav-links a:hover {
            color: var(--gold);
        }

        /* Hero Video */
        .hero-video { background:var(--green);
            position: relative;
            width: 100%;
            height: 100vh;
            overflow: hidden;
        }

        .hero-video video {
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center center;
            filter: brightness(0.7);
            transform: none !important;
        }

        .hero-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            background: rgba(0,0,0,0.2);
        }

        .hero-title {
            font-family: 'Cormorant Garamond', serif;
            font-size: 7rem;
            font-weight: 300;
            color: white;
            letter-spacing: 8px;
            margin-bottom: 30px;
            line-height: 1.1;
        }

        .hero-subtitle {
            font-size: 1.1rem;
            color: white;
            letter-spacing: 5px;
            text-transform: uppercase;
            font-weight: 300;
            margin-bottom: 60px;
        }

        .scroll-indicator {
            position: absolute;
            bottom: 50px;
            left: 50%;
            transform: translateX(-50%);
            color: white;
            font-size: 0.8rem;
            letter-spacing: 3px;
            text-transform: uppercase;
            animation: float 2s ease-in-out infinite;
        }

        @keyframes float {
            0%, 100% { transform: translateX(-50%) translateY(0); }
            50% { transform: translateX(-50%) translateY(-10px); }
        }

        /* ===== ILLUSTRATIONS SVG ===== */

        /* Illustration facade hero */
        .hero-facade {
            max-width: 480px;
            width: 60%;
            margin-top: 10px;
            opacity: 0.7;
        }

        /* Séparateur ornemental */
        .ornament-sep {
            display: block;
            max-width: 260px;
            margin: 0 auto 40px auto;
            opacity: 0.4;
        }

        /* Icônes catégorie menu */
        .category-icon {
            display: block;
            margin: 0 auto 25px auto;
            height: 64px;
            width: auto;
            opacity: 0.6;
        }

        /* Badge plat signature */
        .signature-badge {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            margin-bottom: 15px;
        }
        .signature-badge svg {
            height: 32px;
            width: auto;
        }

        /* Icônes contact dessinées */
        .contact-block-icon {
            display: block;
            margin: 0 auto 12px auto;
            height: 36px;
            width: auto;
            opacity: 0.85;
        }
        .contact-block { text-align: center; }

        /* Heritage decoration */
        .heritage-deco {
            display: block;
            max-width: 320px;
            margin: 0 auto 50px auto;
            opacity: 0.3;
        }

        

        /* Manifesto floating illustration */
        .manifesto-illu {
            position: absolute;
            right: -40px;
            bottom: -30px;
            width: 180px;
            opacity: 0.08;
            pointer-events: none;
        }
        .manifesto { position: relative; }

        /* Animation draw-in */
        @keyframes drawIn {
            from { stroke-dashoffset: 800; }
            to { stroke-dashoffset: 0; }
        }
        .draw-anim path, .draw-anim line, .draw-anim circle, .draw-anim rect {
            stroke-dasharray: 800;
            animation: drawIn 2.5s ease forwards;
        }

        /* Section Manifesto */
        .manifesto {
            padding: 180px 60px;
            max-width: 1400px;
            margin: 0 auto;
        }

        .manifesto-content {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 100px;
            align-items: center;
        }

        .manifesto-text h2 {
            font-family: 'Cormorant Garamond', serif;
            font-size: 4.5rem;
            font-weight: 300;
            line-height: 1.2;
            margin-bottom: 50px;
            color: var(--green);
        
            text-align: center;
        }

        .manifesto-text p {
            font-size: 1.1rem;
            line-height: 2;
            font-weight: 300;
            margin-bottom: 30px;
            color: var(--text);
        }

        /* Gallery Full */
        .gallery-full {
            display: grid;
            grid-template-columns: 1fr;
            gap: 0;
        }

        .gallery-item-full {
            position: relative;
            height: 100vh;
            overflow: hidden;
        }

        .gallery-item-full img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s ease;
        }

        .gallery-item-full:hover img {
            transform: scale(1.05);
        }

        .image-caption {
            position: absolute;
            bottom: 60px;
            left: 60px;
            color: white;
            font-family: 'Cormorant Garamond', serif;
            font-size: 2.5rem;
            font-weight: 300;
            text-shadow: 2px 2px 20px rgba(0,0,0,0.5);
            letter-spacing: 3px;
        }

        /* Heritage Section */
        .heritage {
            background: var(--green);
            color: white;
            padding: 180px 60px;
        }

        .heritage-content {
            max-width: 1200px;
            margin: 0 auto;
            text-align: center;
        }

        .heritage h2 {
            font-family: 'Cormorant Garamond', serif;
            font-size: 6rem;
            font-weight: 300;
            margin-bottom: 80px;
            letter-spacing: 5px;
        }

        .year {
            font-size: 8rem;
            font-family: 'Cormorant Garamond', serif;
            font-weight: 700;
            color: var(--gold);
            margin-bottom: 40px;
        }

        .heritage p {
            font-size: 1.2rem;
            line-height: 2.2;
            font-weight: 300;
            max-width: 900px;
            margin: 0 auto 40px;
        }

        /* Menu Section */
        .menu-section {
            padding: 180px 60px;
            background: var(--cream);
        }

        .menu-header {
            text-align: center;
            margin-bottom: 80px;
        }

        .menu-header h2 {
            font-family: 'Cormorant Garamond', serif;
            font-size: 5.5rem;
            font-weight: 300;
            color: var(--green);
            margin-bottom: 20px;
            letter-spacing: 4px;
        }

        .menu-header .subtitle {
            font-size: 1rem;
            letter-spacing: 3px;
            text-transform: uppercase;
                color: #5a4a1f;            font-weight: 400;
        }

        /* Category Title */
        .menu-category {
            margin-bottom: 80px;
        }

        .category-title {
            font-family: 'Cormorant Garamond', serif;
            font-size: 3.5rem;
            font-weight: 400;
            color: var(--green);
            text-align: center;
            margin-bottom: 60px;
            letter-spacing: 3px;
            position: relative;
        }

        .category-title::after {
            content: '';
            display: block;
            width: 100px;
            height: 2px;
            background: var(--gold);
            margin: 20px auto 0;
        }

        .menu-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 50px;
            max-width: 1400px;
            margin: 0 auto 80px;
        }

        /* Menu Items with Images (Spécialités) */
        .menu-item {
            position: relative;
            text-align: center;
            padding: 0;
            background: white;
            border: 2px solid rgba(0,0,0,0.08);
            transition: all 0.4s ease;
            overflow: hidden;
        }

        .menu-item:hover {
            transform: translateY(-15px);
            box-shadow: 0 30px 80px rgba(0,0,0,0.15);
            border-color: var(--gold);
        }

        .menu-item-image {
            width: 100%;
            height: 280px;
            object-fit: cover;
            transition: transform 0.4s ease;
        }

        .menu-item:hover .menu-item-image {
            transform: scale(1.08);
        }

        .menu-item-content {
            padding: 45px 35px;
        }

        .menu-item h3 {
            font-family: 'Cormorant Garamond', serif;
            font-size: 2.4rem;
            font-weight: 600;
            margin-bottom: 20px;
            color: var(--green);
            letter-spacing: 2px;
            line-height: 1.3;
        }

        .menu-item p {
            font-size: 0.95rem;
            line-height: 1.8;
            color: #666;
            margin-bottom: 30px;
            font-weight: 300;
            min-height: 90px;
        }

        .price {
            font-size: 2.2rem;
            font-family: 'Cormorant Garamond', serif;
                        color: #8b6914;
            font-weight: 700;
            margin-bottom: 15px;
        }

        .signature-icon {
            color: var(--gold);
            font-size: 1.5rem;
            margin-bottom: 15px;
        }

        /* Simple Menu Items (no images) */
        .simple-menu-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 40px;
            max-width: 1200px;
            margin: 0 auto 80px;
        }

        .simple-menu-item {
            background: white;
            padding: 35px 40px;
            border: 1px solid rgba(0,0,0,0.08);
            transition: all 0.3s ease;
        }

        .simple-menu-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0,0,0,0.1);
        }

        .simple-menu-item h4 {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.8rem;
            font-weight: 600;
            color: var(--green);
            margin-bottom: 12px;
            letter-spacing: 1px;
        }

        .simple-menu-item p {
            font-size: 0.9rem;
            line-height: 1.7;
            color: #666;
            margin-bottom: 15px;
            font-weight: 300;
        }

        .simple-menu-item .price {
            font-size: 1.6rem;
            margin-bottom: 0;
        }

        /* Location */
        .location {
            position: relative;
            height: 80vh;
            display: flex;
            align-items: center;
            justify-content: center;
            background-image: url('../assets/images/gallery/626226185_17849609148670666_5785286338868968839_n.webp');
            background-size: cover;
            background-position: center;
            background-attachment: scroll;
        }

        .location-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(26, 61, 15, 0.85);
        }

        .location-content {
            position: relative;
            z-index: 2;
            text-align: center;
            color: white;
            padding: 60px;
        }

        .location-content h2 {
            font-family: 'Cormorant Garamond', serif;
            font-size: 5rem;
            font-weight: 300;
            margin-bottom: 60px;
            letter-spacing: 4px;
        }

        .contact-info {
            display: flex;
            justify-content: center;
            gap: 100px;
            flex-wrap: wrap;
        }

        .contact-block {
            text-align: center;
        }

        .contact-block h3 {
            font-size: 0.8rem;
            letter-spacing: 3px;
            text-transform: uppercase;
            margin-bottom: 15px;
            color: var(--gold);
            font-weight: 400;
        }

        .contact-block p {
            font-size: 1.1rem;
            line-height: 1.8;
            font-weight: 300;
        }

        /* Footer */
        footer {
            background: var(--green);
            color: white;
            padding: 40px 40px 25px;
            text-align: center;
        }

        .footer-content {
            max-width: 1400px;
            margin: 0 auto;
        }

        .footer-logo {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.4rem;
            font-weight: 600;
            letter-spacing: 3px;
            margin-bottom: 18px;
        }

        .footer-links {
            display: flex;
            justify-content: center;
            gap: 30px;
            margin-bottom: 18px;
            flex-wrap: wrap;
        }

        .footer-links a {
            color: white;
            text-decoration: none;
            font-size: 0.75rem;
            letter-spacing: 2px;
            text-transform: uppercase;
            font-weight: 300;
            transition: color 0.3s ease;
        }

        .footer-links a:hover {
            color: var(--gold);
        }

        .footer-bottom {
            margin-top: 15px;
            padding-top: 15px;
            border-top: 1px solid rgba(255,255,255,0.1);
            font-size: 0.7rem;
            letter-spacing: 2px;
            font-weight: 300;
        }

        /* Responsive */
        @media (max-width: 1024px) {
            .hero-title {
                font-size: 4rem;
            }

            .manifesto-content {
                grid-template-columns: 1fr;
                gap: 60px;
            }

            .menu-grid {
                grid-template-columns: 1fr;
                gap: 40px;
            }

            .simple-menu-grid {
                grid-template-columns: 1fr;
            }

            nav {
                padding: 20px 30px;
            }

            .nav-links {
                gap: 25px;
            }

            .heritage h2 {
                font-size: 3.5rem;
            }

            .year {
                font-size: 5rem;
            }

            .hero-deco { display: none; }
            .manifesto-illu { display: none; }
        }

        @media (max-width: 768px) {
            .hero-title {
                font-size: 2.5rem;
                letter-spacing: 4px;
            }

            .hero-subtitle {
                font-size: 0.9rem;
            }

            .manifesto-text h2 {
                font-size: 2.5rem;
            }

            .location-content h2 {
                font-size: 3rem;
            }

            .contact-info {
                flex-direction: column;
                gap: 40px;
            }

            .nav-links {
                display: none;
            }

            .menu-item h3 {
                font-size: 2rem;
            }

            .category-title {
                font-size: 2.5rem;
            }

            .hero-facade { width: 80%; }
        }
    
        .signature-ornament { margin-bottom:15px; text-align:center; }
        .signature-ornament svg { width:120px; height:auto; opacity:0.7; }
        .site-wrap { opacity:1; position:relative; }
        .site-wrap.show { opacity:1; }

        /* SECTION STAR – inherits parent alignment */
        .section-star { margin-bottom:20px; opacity:1; transform:scale(1) rotate(0deg); transition:all 1.4s cubic-bezier(.16,1,.3,1); text-align:center; }
        .section-star.on { opacity:1; transform:scale(1) rotate(0deg); }
        .section-star svg { width:42px; height:42px; display:inline-block; vertical-align:middle; filter:drop-shadow(0 0 10px rgba(201,169,97,0.4)); }
        .section-star.on svg { animation:starTwinkle 4s 0.5s ease-in-out infinite; }
        @keyframes starTwinkle {
            0%,100% { filter:drop-shadow(0 0 10px rgba(201,169,97,0.4)); transform:rotate(0deg); }
            25% { filter:drop-shadow(0 0 20px rgba(201,169,97,0.7)); }
            50% { filter:drop-shadow(0 0 8px rgba(201,169,97,0.25)); transform:rotate(90deg); }
            75% { filter:drop-shadow(0 0 22px rgba(201,169,97,0.7)); }
        }
        .section-star--light svg line { stroke:rgba(245,243,239,0.45) !important; }
        .section-star--light svg circle { fill:rgba(245,243,239,0.45) !important; stroke:rgba(245,243,239,0.15) !important; }

        /* LOADER */
        .loader { position:fixed; inset:0; z-index:10000; background:var(--green); display:flex; align-items:center; justify-content:center; transition:opacity 0.8s ease,visibility 0.8s ease; }
        .loader.done { opacity:0; visibility:hidden; }
        .loader-rings { position:absolute; width:280px; height:280px; }
        .loader-ring { position:absolute; inset:0; border:1px solid rgba(201,169,97,0.12); border-radius:50%; animation:ringRot 8s linear infinite; }
        .loader-ring:nth-child(2) { inset:25px; border-style:dashed; border-color:rgba(201,169,97,0.08); animation-direction:reverse; animation-duration:12s; }
        .loader-ring:nth-child(3) { inset:50px; animation-duration:6s; }
        @keyframes ringRot { to { transform:rotate(360deg); } }
        .loader-center { position:relative; z-index:2; text-align:center; }
        .loader-year { font-family:'Cormorant Garamond',serif; font-size:4.5rem; font-weight:300; color:var(--gold); letter-spacing:6px; min-width:200px; display:block; }
        .loader-name { font-family:'Cormorant Garamond',serif; font-size:0.85rem; color:rgba(201,169,97,0.5); letter-spacing:8px; text-transform:uppercase; margin-top:15px; opacity:0; animation:ldFade 0.8s 0.4s ease forwards; }
        .loader-line { width:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); margin:25px auto 0; animation:ldLine 1.5s 0.6s ease forwards; }
        @keyframes ldFade { to { opacity:1; } }
        @keyframes ldLine { to { width:180px; } }

        /* NAV – var(--green) like manifesto h2 */
        nav { display:flex; justify-content:center; align-items:center; padding:20px 40px; background:rgba(245,243,239,0.95); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); transition:padding 0.4s ease,background 0.4s ease,box-shadow 0.4s ease; opacity:1; }
        nav.show { animation:navIn 0.6s ease forwards; } @keyframes navIn { to { opacity:1; } }
        nav.compact { padding:12px 40px; background:rgba(245,243,239,0.98); box-shadow:0 4px 30px rgba(0,0,0,0.04); }
        .nav-inner { display:flex; align-items:center; }
        .nav-link { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:400; letter-spacing:2.5px; text-transform:uppercase; color:var(--green); text-decoration:none; padding:8px 22px; position:relative; transition:opacity 0.4s ease; }
        .nav-link::after { content:''; position:absolute; bottom:2px; left:50%; width:0; height:1px; background:var(--green); transform:translateX(-50%); transition:width 0.5s cubic-bezier(.16,1,.3,1); }
        .nav-link:hover { opacity:0.65; } .nav-link:hover::after { width:60%; }
        .nav-dot { color:var(--green); opacity:0.2; font-size:0.9rem; padding:0 2px; user-select:none; }
        @media (max-width:768px) { .nav-inner { flex-wrap:wrap; justify-content:center; gap:4px; } .nav-link { font-size:0.95rem; padding:6px 12px; letter-spacing:1px; } .nav-dot { display:none; } }

        /* HERO */
        .hero-title { opacity:1; } .hero-subtitle { opacity:1; }
        .hero-divider { width:160px; height:auto; opacity:0; margin:10px 0 25px; }
        .hero-facade { opacity:0; }
        .hero-facade path,.hero-facade line,.hero-facade rect,.hero-facade circle,.hero-facade ellipse { stroke-dasharray:2000; stroke-dashoffset:2000; }
        .scroll-indicator { opacity:0 !important; } .hero-overlay { will-change:transform,opacity; }
        .go .hero-title { animation:hTitle 0.8s 0s cubic-bezier(.16,1,.3,1) forwards; }
        @keyframes hTitle { from { opacity:0; clip-path:inset(100% 0 0 0); } to { opacity:1; clip-path:inset(0 0 0 0); } }
        .go .hero-divider { animation:hFade 0.5s 0.2s ease forwards; }
        .go .hero-subtitle { animation:hSubIn 0.6s 0.3s ease forwards; }
        @keyframes hSubIn { from { opacity:0; letter-spacing:15px; } to { opacity:1; letter-spacing:5px; } }
        .go .hero-facade { animation:hFade 2s 1.8s ease forwards; }
        .go .hero-facade path,.go .hero-facade line,.go .hero-facade rect,.go .hero-facade circle,.go .hero-facade ellipse { animation:hDraw 3s 1.8s ease forwards; }
        @keyframes hDraw { to { stroke-dashoffset:0; } }
        .go .scroll-indicator { animation:hFade 0.8s 3s ease forwards !important; }
        @keyframes hFade { to { opacity:1; } }

        /* SCROLL */
        .scroll-bar { position:fixed; top:0; left:0; height:2px; background:linear-gradient(90deg,var(--gold),#e8d5a3,var(--gold)); z-index:10001; width:0%; }
        [data-r] { opacity:1; will-change:opacity,transform; transition-property:opacity,transform,filter; transition-duration:1s; transition-timing-function:cubic-bezier(.16,1,.3,1); }
        [data-r="u"] { transform:none; } [data-r="l"] { transform:none; } [data-r="r"] { transform:none; }
        [data-r="s"] { transform:none; filter:none; } [data-r="f"] { transform:none; }
        [data-r].on { opacity:1; transform:none; filter:none; }

        /* MENU */
        .menu-item { transition:transform 0.55s cubic-bezier(.16,1,.3,1),box-shadow 0.55s ease; overflow:hidden; }
        .menu-item::after { content:''; position:absolute; top:0; left:0; width:100%; height:3px; background:linear-gradient(90deg,transparent,var(--gold),transparent); transform:scaleX(0); transform-origin:center; transition:transform 0.5s cubic-bezier(.16,1,.3,1); z-index:5; }
        .menu-item:hover::after { transform:scaleX(1); }
        .menu-item:hover { transform:translateY(-14px); box-shadow:0 35px 70px rgba(26,61,15,0.1); }
        .menu-item .shine { position:absolute; top:0; left:-100%; z-index:4; width:50%; height:280px; background:linear-gradient(90deg,transparent,rgba(255,255,255,0.13),transparent); pointer-events:none; transition:none; }
        .menu-item:hover .shine { transition:left 0.65s ease; left:200%; }
        .simple-menu-item { transition:all 0.45s cubic-bezier(.16,1,.3,1); position:relative; overflow:hidden; }
        .simple-menu-item::after { content:''; position:absolute; bottom:0; left:50%; width:0; height:1px; background:var(--gold); transform:translateX(-50%); transition:width 0.4s ease; }
        .simple-menu-item:hover::after { width:80%; }
        .simple-menu-item:hover { transform:translateY(-5px); box-shadow:0 18px 45px rgba(26,61,15,0.07); border-color:var(--gold); }
        .category-title::after { width:0; transition:width 1.2s 0.2s cubic-bezier(.16,1,.3,1); }
        .category-title.on::after { width:100px; }
        .menu-item:hover .price,.simple-menu-item:hover .price { animation:pPop 0.35s ease; }
        @keyframes pPop { 50% { transform:scale(1.06); } }

        /* GALLERY */
        .gallery-full { background:var(--green); padding:140px 40px 100px; position:relative; overflow:hidden; }
        .gallery-ambiance { position:absolute; inset:0; background:radial-gradient(ellipse 600px 400px at 15% 20%, rgba(201,169,97,0.04) 0%, transparent 70%),radial-gradient(ellipse 500px 350px at 85% 70%, rgba(201,169,97,0.03) 0%, transparent 70%); pointer-events:none; animation:galAmb 12s ease-in-out infinite alternate; }
        @keyframes galAmb { 0% { opacity:0.6; } 100% { opacity:1; } }
        .gallery-header { text-align:center; margin-bottom:90px; }
        .gallery-title { font-family:'Cormorant Garamond',serif; font-size:4rem; font-weight:300; color:var(--cream); letter-spacing:5px; margin-bottom:0; line-height:1.2; }
        .gallery-line { width:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); margin:25px auto; transition:width 1.5s 0.3s cubic-bezier(.16,1,.3,1); }
        .gallery-line.on { width:120px; }
        .gallery-sub { font-size:0.85rem; color:rgba(245,243,239,0.65); letter-spacing:4px; margin-top:18px; text-transform:uppercase; }
        .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:320px; gap:22px; max-width:1400px; margin:0 auto; }
        .gi-tall { grid-row:span 2; } .gi-wide { grid-column:span 2; }
        .gallery-item { position:relative; overflow:hidden; border-radius:10px; }
        .gallery-item[data-gi] .gi-inner img { filter:brightness(0.55) saturate(0.85); transition:filter 2s cubic-bezier(.16,1,.3,1); }
        .gallery-item.on .gi-inner img { filter:brightness(0.88) saturate(1.05); }
        .gi-sweep { position:absolute; inset:0; z-index:2; pointer-events:none; background:linear-gradient(105deg, transparent 30%, rgba(201,169,97,0.2) 42%, rgba(255,245,220,0.15) 50%, rgba(201,169,97,0.2) 58%, transparent 70%); transform:translateX(-130%); opacity:0; }
        .gallery-item.on .gi-sweep { animation:giSweep 1.4s cubic-bezier(.16,1,.3,1) forwards; }
        @keyframes giSweep { 0% { transform:translateX(-130%); opacity:1; } 70% { opacity:1; } 100% { transform:translateX(130%); opacity:0; } }
        .gi-inner { position:relative; width:100%; height:100%; overflow:hidden; cursor:pointer; }
        .gi-inner img { width:100%; height:100%; object-fit:cover; will-change:transform,filter; }
        .gi-inner:hover img { filter:brightness(1) saturate(1.15) !important; transform:scale(1.08); transition:transform 1.8s cubic-bezier(.16,1,.3,1), filter 0.8s ease; }
        .gi-glow { position:absolute; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle,rgba(201,169,97,0.15) 0%,transparent 70%); pointer-events:none; opacity:0; transition:opacity 0.4s ease; transform:translate(-50%,-50%); z-index:3; }
        .gi-inner:hover .gi-glow { opacity:1; }
        .gi-overlay { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:35px; background:linear-gradient(0deg,rgba(26,61,15,0.85) 0%,rgba(26,61,15,0.12) 50%,transparent 75%); opacity:0; transition:opacity 0.7s cubic-bezier(.16,1,.3,1); z-index:4; }
        .gi-inner:hover .gi-overlay { opacity:1; }
        .gi-number { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:200; color:rgba(201,169,97,0.2); position:absolute; top:25px; right:30px; transform:translateY(-15px); transition:transform 0.7s cubic-bezier(.16,1,.3,1), opacity 0.7s ease; opacity:0; }
        .gi-inner:hover .gi-number { transform:none; opacity:1; }
        .gi-tag { font-size:0.7rem; letter-spacing:5px; text-transform:uppercase; color:var(--gold); margin-bottom:10px; transform:translateX(-25px); opacity:0; transition:all 0.6s 0.08s cubic-bezier(.16,1,.3,1); }
        .gi-inner:hover .gi-tag { transform:none; opacity:1; }
        .gi-label { font-family:'Cormorant Garamond',serif; font-size:1.7rem; font-weight:300; color:white; transform:translateY(25px); opacity:0; transition:all 0.6s 0.15s cubic-bezier(.16,1,.3,1); line-height:1.3; }
        .gi-inner:hover .gi-label { transform:none; opacity:1; }
        .gi-inner::after { content:''; position:absolute; inset:10px; border:1px solid rgba(201,169,97,0); border-radius:3px; transition:all 0.8s cubic-bezier(.16,1,.3,1); pointer-events:none; z-index:5; }
        .gi-inner:hover::after { border-color:rgba(201,169,97,0.35); inset:16px; border-radius:6px; }
        @media (max-width:768px) { .gallery-grid { grid-template-columns:1fr; grid-auto-rows:300px; } .gi-tall,.gi-wide { grid-row:span 1; grid-column:span 1; } .gallery-full { padding:80px 20px; } .gallery-title { font-size:2.5rem; } }

        .year { transition:all 1.8s cubic-bezier(.16,1,.3,1); opacity:1; transform:none; filter:none; }
        .year.on { opacity:1; transform:none; filter:none; }
        .ch { display:inline-block; opacity:1; transform:none; transition:all 0.6s cubic-bezier(.16,1,.3,1); }
        .ch.on { opacity:1; transform:none; }
        .manifesto-bg-art { position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:0; }
        .manifesto-bg-art svg { position:absolute; }
        .manifesto-wrap { position:relative; z-index:1; }
        .heritage-bg-art { position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:0; }
        .heritage-bg-art svg { position:absolute; }
        .heritage-bg-art2 { position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:0; }
        .heritage-bg-art2 svg { position:absolute; }
        .heritage-wrap { position:relative; z-index:1; }
        .gallery-bg-art { position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:1; }
        .gallery-bg-art svg { position:absolute; }
        .gallery-bg-art2 { position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:1; }
        .gallery-bg-art2 svg { position:absolute; }
        .loc-bg-art { position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:1; }
        .loc-bg-art svg { position:absolute; }
        .menu-section { position:relative; }
        .menu-bg-art { position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:0; }
        .menu-bg-art svg { position:absolute; }
        .menu-wrap { position:relative; z-index:1; }

        /* HERITAGE SECTION position:relative for bg arts */
        .heritage { position:relative; }
        .location { position:relative; }

        /* TYPEWRITER */
        .tw-cursor { animation:twBlink 0.7s step-end infinite; display:inline-block; margin-left:2px; color:var(--gold); font-weight:300; }
        @keyframes twBlink { 50% { opacity:0; } }

        /* NOISE OVERLAY – subtle texture */
        .noise-overlay { position:fixed; inset:0; pointer-events:none; z-index:9999; opacity:0.025; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E"); background-size:200px 200px; animation:noiseAnim 0.15s steps(1) infinite; }
        @keyframes noiseAnim { 0%{background-position:0 0} 10%{background-position:-50px -60px} 20%{background-position:35px 20px} 30%{background-position:-10px -40px} 40%{background-position:50px 35px} 50%{background-position:-35px 10px} 60%{background-position:25px -50px} 70%{background-position:-55px 45px} 80%{background-position:20px -25px} 90%{background-position:-40px 55px} 100%{background-position:45px -15px} }

        /* RESERVATION MODAL */
        .res-overlay { position:fixed; inset:0; z-index:20000; background:rgba(0,0,0,0); pointer-events:none; display:flex; align-items:center; justify-content:center; transition:background 0.5s ease; }
        .res-overlay.open { background:rgba(0,0,0,0.65); pointer-events:all; }
        .res-modal { background:var(--cream); width:min(680px,96vw); max-height:90vh; overflow-y:auto; padding:70px 65px; position:relative; transform:translateY(60px) scale(0.97); opacity:0; transition:all 0.5s cubic-bezier(.16,1,.3,1); }
        .res-overlay.open .res-modal { transform:none; opacity:1; }
        .res-modal h2 { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:300; color:var(--green); letter-spacing:3px; margin-bottom:10px; text-align:center; }
        .res-modal .res-sub { font-size:0.85rem; letter-spacing:3px; text-transform:uppercase; color:#888; text-align:center; margin-bottom:50px; }
        .res-row { display:grid; grid-template-columns:1fr 1fr; gap:25px; margin-bottom:25px; }
        .res-field { display:flex; flex-direction:column; gap:8px; }
        .res-field.full { grid-column:1/-1; }
        .res-field label { font-size:0.75rem; letter-spacing:2.5px; text-transform:uppercase; color:#888; font-weight:400; }
        .res-field input,.res-field select,.res-field textarea { border:none; border-bottom:1px solid rgba(0,0,0,0.15); padding:12px 0; background:transparent; font-family:'Montserrat',sans-serif; font-size:0.95rem; color:var(--text); outline:none; transition:border-color 0.3s ease; }
        .res-field input:focus,.res-field select:focus,.res-field textarea:focus { border-color:var(--green); }
        .res-field textarea { resize:none; height:90px; }
        .res-btn { display:block; width:100%; margin-top:40px; padding:20px; background:var(--green); color:white; border:none; font-family:'Cormorant Garamond',serif; font-size:1.3rem; letter-spacing:4px; text-transform:uppercase; cursor:pointer; transition:all 0.4s ease; }
        .res-btn:hover { background:#0d2008; }
        .res-close { position:absolute; top:25px; right:30px; background:none; border:none; font-size:1.5rem; cursor:pointer; color:#aaa; line-height:1; transition:color 0.3s ease; }
        .res-close:hover { color:var(--green); }
        @media (max-width:600px) { .res-modal { padding:50px 30px; } .res-row { grid-template-columns:1fr; } .res-modal h2 { font-size:2.2rem; } }

        /* RESERVATION CTA FLOATING */
        .res-cta { position:fixed; bottom:40px; right:40px; z-index:9000; }
        .res-cta-btn { background:var(--green); color:white; border:none; padding:16px 32px; font-family:'Cormorant Garamond',serif; font-size:1.1rem; letter-spacing:3px; text-transform:uppercase; cursor:pointer; box-shadow:0 8px 40px rgba(26,61,15,0.35); transition:all 0.4s cubic-bezier(.16,1,.3,1); position:relative; overflow:hidden; }
        .res-cta-btn::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,transparent 40%,rgba(201,169,97,0.15)); opacity:0; transition:opacity 0.4s ease; }
        .res-cta-btn:hover { transform:translateY(-4px); box-shadow:0 18px 60px rgba(26,61,15,0.4); }
        .res-cta-btn:hover::before { opacity:1; }
        @media (max-width:768px) { .res-cta { bottom:20px; right:20px; } .res-cta-btn { padding:14px 22px; font-size:0.95rem; letter-spacing:2px; } }

        /* BACK TO TOP */
        .btt { position:fixed; bottom:40px; left:40px; z-index:9000; width:48px; height:48px; border:1px solid rgba(26,61,15,0.2); background:rgba(245,243,239,0.9); backdrop-filter:blur(10px); cursor:pointer; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:all 0.4s cubic-bezier(.16,1,.3,1); }
        .btt.show { opacity:1; pointer-events:all; }
        .btt:hover { background:var(--green); border-color:var(--green); }
        .btt svg { width:16px; height:16px; fill:none; stroke:var(--green); stroke-width:2; transition:stroke 0.3s ease; }
        .btt:hover svg { stroke:white; }
        @media (max-width:768px) { .btt { left:20px; bottom:20px; } }

        /* SOUND TOGGLE */
        .sound-btn { position:fixed; top:20px; right:20px; z-index:9500; background:none; border:1px solid rgba(26,61,15,0.18); width:42px; height:42px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.3s ease; backdrop-filter:blur(8px); background:rgba(245,243,239,0.7); }
        .sound-btn:hover { background:var(--green); border-color:var(--green); }
        .sound-btn svg { width:18px; height:18px; fill:none; stroke:var(--green); stroke-width:1.5; transition:stroke 0.3s ease; }
        .sound-btn:hover svg { stroke:white; }

        /* MANIFESTO SECTION */
        .manifesto-section { position:relative; overflow:hidden; background:var(--cream); }
        .manifesto-vis { position:relative; overflow:hidden; }
        .manifesto-vis img { width:100%; height:100%; object-fit:cover; }
        .manifesto-img-wrap { position:relative; overflow:hidden; height:620px; }
        .manifesto-img-wrap img { width:100%; height:100%; object-fit:cover; filter:brightness(0.88) saturate(0.9); transition:filter 1.2s ease; }
        .manifesto-img-wrap:hover img { filter:brightness(0.95) saturate(1.05); }
        .manifesto-img-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(26,61,15,0.15) 0%,transparent 60%); pointer-events:none; }
        .manifesto-img-frame { position:absolute; inset:20px; border:1px solid rgba(201,169,97,0.2); pointer-events:none; transition:all 0.8s ease; }
        .manifesto-img-wrap:hover .manifesto-img-frame { inset:26px; border-color:rgba(201,169,97,0.4); }
        .manifesto-quote { position:absolute; bottom:35px; left:40px; right:40px; }
        .manifesto-quote-text { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:300; color:white; text-shadow:0 2px 20px rgba(0,0,0,0.5); letter-spacing:1px; line-height:1.5; font-style:italic; }
        .manifesto-quote-author { font-size:0.75rem; letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-top:12px; }
        @media (max-width:768px) { .manifesto-img-wrap { height:380px; } .manifesto-content { grid-template-columns:1fr !important; gap:40px !important; } .manifesto { padding:80px 25px; } }

        /* HERITAGE TIMELINE */
        .heritage-timeline { display:flex; justify-content:center; gap:0; max-width:900px; margin:0 auto 80px; position:relative; }
        .heritage-timeline::before { content:''; position:absolute; top:28px; left:10%; right:10%; height:1px; background:linear-gradient(90deg,transparent,rgba(201,169,97,0.4),transparent); }
        .ht-item { flex:1; text-align:center; padding:0 20px; }
        .ht-dot { width:12px; height:12px; border-radius:50%; background:var(--gold); margin:0 auto 20px; position:relative; }
        .ht-dot::before { content:''; position:absolute; inset:-6px; border-radius:50%; border:1px solid rgba(201,169,97,0.3); }
        .ht-year { font-family:'Cormorant Garamond',serif; font-size:1.8rem; color:var(--gold); font-weight:300; margin-bottom:10px; }
        .ht-label { font-size:0.75rem; letter-spacing:2px; text-transform:uppercase; color:rgba(245,243,239,0.6); line-height:1.5; }
        @media (max-width:768px) { .heritage-timeline { flex-direction:column; gap:30px; } .heritage-timeline::before { display:none; } }

        /* SEASONS */
        .seasons-bar { display:flex; justify-content:center; gap:40px; margin-bottom:80px; flex-wrap:wrap; }
        .season-btn { background:none; border:1px solid rgba(26,61,15,0.15); padding:12px 30px; font-family:'Cormorant Garamond',serif; font-size:1.1rem; letter-spacing:2px; color:var(--green); cursor:pointer; transition:all 0.4s cubic-bezier(.16,1,.3,1); position:relative; overflow:hidden; }
        .season-btn::before { content:''; position:absolute; inset:0; background:var(--green); transform:scaleX(0); transform-origin:left; transition:transform 0.4s cubic-bezier(.16,1,.3,1); z-index:-1; }
        .season-btn.active,.season-btn:hover { color:white; border-color:var(--green); }
        .season-btn.active::before,.season-btn:hover::before { transform:scaleX(1); }
        .season-panel { display:none; } .season-panel.active { display:block; }
        .season-desc { text-align:center; font-size:1rem; line-height:1.9; color:#666; max-width:700px; margin:0 auto 70px; font-weight:300; font-style:italic; }

        /* CHEF SECTION */
        .chef-section { background:var(--cream); padding:160px 60px; }
        .chef-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; max-width:1200px; margin:0 auto; }
        .chef-img-wrap { position:relative; overflow:hidden; }
        .chef-img-wrap img { width:100%; aspect-ratio:3/4; object-fit:cover; filter:brightness(0.9) saturate(0.95); }
        .chef-frame { position:absolute; inset:20px; border:1px solid rgba(201,169,97,0.25); pointer-events:none; }
        .chef-badge { position:absolute; bottom:-20px; right:-20px; width:100px; height:100px; background:var(--green); display:flex; align-items:center; justify-content:center; }
        .chef-badge svg { width:50px; height:50px; }
        .chef-text h2 { font-family:'Cormorant Garamond',serif; font-size:3.5rem; font-weight:300; color:var(--green); letter-spacing:3px; margin-bottom:10px; line-height:1.2; }
        .chef-name { font-size:0.8rem; letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-bottom:40px; }
        .chef-text p { font-size:1rem; line-height:2; font-weight:300; color:#555; margin-bottom:25px; }
        .chef-signature { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:300; color:var(--green); font-style:italic; margin-top:30px; opacity:0.6; }
        @media (max-width:768px) { .chef-grid { grid-template-columns:1fr; gap:50px; } .chef-section { padding:100px 25px; } }

        /* EVENTS */
        .events-section { background:var(--green); padding:160px 60px; position:relative; overflow:hidden; }
        .events-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; max-width:1400px; margin:0 auto; }
        .event-card { background:rgba(255,255,255,0.04); border:1px solid rgba(201,169,97,0.15); padding:50px 40px; transition:all 0.5s cubic-bezier(.16,1,.3,1); position:relative; overflow:hidden; }
        .event-card::before { content:''; position:absolute; top:0; left:0; width:100%; height:2px; background:linear-gradient(90deg,transparent,var(--gold),transparent); transform:scaleX(0); transition:transform 0.5s cubic-bezier(.16,1,.3,1); }
        .event-card:hover::before { transform:scaleX(1); }
        .event-card:hover { background:rgba(255,255,255,0.07); transform:translateY(-8px); }
        .event-date { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:200; color:var(--gold); opacity:0.4; margin-bottom:20px; line-height:1; }
        .event-title { font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:300; color:white; margin-bottom:15px; letter-spacing:1px; }
        .event-desc { font-size:0.9rem; line-height:1.8; color:rgba(245,243,239,0.6); font-weight:300; }
        @media (max-width:768px) { .events-grid { grid-template-columns:1fr; } .events-section { padding:100px 25px; } }

        /* PRESS */
        .press-section { padding:160px 60px; background:var(--cream); }
        .press-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; max-width:1200px; margin:0 auto; }
        .press-card { text-align:center; padding:50px 40px; border:1px solid rgba(0,0,0,0.06); transition:all 0.4s ease; }
        .press-card:hover { transform:translateY(-8px); box-shadow:0 25px 60px rgba(0,0,0,0.08); border-color:rgba(201,169,97,0.3); }
        .press-logo { font-family:'Cormorant Garamond',serif; font-size:1.6rem; letter-spacing:3px; color:#aaa; margin-bottom:30px; }
        .press-quote { font-size:1.05rem; line-height:1.9; color:#555; font-style:italic; font-weight:300; margin-bottom:20px; }
        .press-stars { color:var(--gold); font-size:1.2rem; letter-spacing:3px; }
        @media (max-width:768px) { .press-grid { grid-template-columns:1fr; } .press-section { padding:100px 25px; } }

        /* PRIVATE DINING */
        .private-section { background:var(--green); color:white; padding:160px 60px; text-align:center; position:relative; overflow:hidden; }
        .private-inner { max-width:900px; margin:0 auto; position:relative; z-index:2; }
        .private-section h2 { font-family:'Cormorant Garamond',serif; font-size:5rem; font-weight:300; letter-spacing:4px; margin-bottom:30px; }
        .private-section p { font-size:1.1rem; line-height:2; font-weight:300; max-width:700px; margin:0 auto 60px; color:rgba(245,243,239,0.85); }
        .private-btn { display:inline-block; padding:20px 60px; border:1px solid rgba(201,169,97,0.5); color:var(--gold); font-family:'Cormorant Garamond',serif; font-size:1.2rem; letter-spacing:4px; text-transform:uppercase; cursor:pointer; background:none; transition:all 0.4s cubic-bezier(.16,1,.3,1); }
        .private-btn:hover { background:rgba(201,169,97,0.1); border-color:var(--gold); transform:scale(1.03); }
        @media (max-width:768px) { .private-section { padding:100px 25px; } .private-section h2 { font-size:3rem; } }

        /* GIFT CARDS */
        .gift-section { padding:160px 60px; background:var(--cream); }
        .gift-inner { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; max-width:1200px; margin:0 auto; }
        .gift-visual { position:relative; }
        .gift-card-visual { background:linear-gradient(135deg,var(--green) 0%,#0d2008 100%); padding:50px; aspect-ratio:16/9; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; }
        .gift-card-visual::before { content:''; position:absolute; top:-50%; right:-20%; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle,rgba(201,169,97,0.1) 0%,transparent 70%); }
        .gift-card-title { font-family:'Cormorant Garamond',serif; font-size:1.8rem; color:white; letter-spacing:3px; }
        .gift-card-logo { font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--gold); letter-spacing:4px; text-align:right; }
        .gift-card-amount { font-family:'Cormorant Garamond',serif; font-size:3rem; color:var(--gold); font-weight:300; }
        .gift-text h2 { font-family:'Cormorant Garamond',serif; font-size:3.5rem; font-weight:300; color:var(--green); letter-spacing:3px; margin-bottom:30px; line-height:1.2; }
        .gift-text p { font-size:1rem; line-height:2; font-weight:300; color:#555; margin-bottom:40px; }
        .gift-btn { display:inline-block; padding:18px 50px; background:var(--green); color:white; font-family:'Cormorant Garamond',serif; font-size:1.1rem; letter-spacing:3px; text-transform:uppercase; cursor:pointer; border:none; transition:all 0.4s ease; }
        .gift-btn:hover { background:#0d2008; transform:translateY(-3px); }
        @media (max-width:768px) { .gift-inner { grid-template-columns:1fr; gap:50px; } .gift-section { padding:100px 25px; } }

        /* WINE */
        .wine-section { background:var(--green); padding:160px 60px; }
        .wine-header { text-align:center; margin-bottom:80px; }
        .wine-header h2 { font-family:'Cormorant Garamond',serif; font-size:4rem; font-weight:300; color:var(--cream); letter-spacing:5px; }
        .wine-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; max-width:1400px; margin:0 auto; }
        .wine-card { background:rgba(255,255,255,0.04); border:1px solid rgba(201,169,97,0.12); padding:40px 30px; text-align:center; transition:all 0.4s ease; }
        .wine-card:hover { background:rgba(255,255,255,0.08); transform:translateY(-6px); border-color:rgba(201,169,97,0.3); }
        .wine-region { font-size:0.7rem; letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
        .wine-name { font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:white; margin-bottom:12px; font-weight:300; }
        .wine-desc { font-size:0.85rem; color:rgba(245,243,239,0.55); line-height:1.7; margin-bottom:20px; font-weight:300; }
        .wine-price { font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:var(--gold); }
        @media (max-width:768px) { .wine-grid { grid-template-columns:1fr 1fr; gap:20px; } .wine-section { padding:100px 25px; } }

        /* TESTIMONIALS */
        .testimonials-section { padding:160px 60px; background:var(--cream); text-align:center; }
        .testimonials-track { display:flex; gap:40px; max-width:1400px; margin:0 auto; overflow:hidden; }
        .testimonial-card { flex:0 0 calc(33.33% - 27px); background:white; padding:50px 45px; border:1px solid rgba(0,0,0,0.06); text-align:left; }
        .testimonial-stars { color:var(--gold); letter-spacing:3px; margin-bottom:25px; }
        .testimonial-text { font-size:1rem; line-height:1.9; font-weight:300; color:#555; font-style:italic; margin-bottom:30px; }
        .testimonial-author { font-size:0.8rem; letter-spacing:3px; text-transform:uppercase; color:#aaa; }
        @media (max-width:768px) { .testimonials-track { flex-direction:column; } .testimonials-section { padding:100px 25px; } }

        /* INSTAGRAM */
        .instagram-section { padding:100px 60px; background:var(--cream); }
        .ig-header { text-align:center; margin-bottom:50px; }
        .ig-handle { font-family:'Cormorant Garamond',serif; font-size:1.8rem; color:var(--green); letter-spacing:3px; }
        .ig-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:6px; max-width:1400px; margin:0 auto; }
        .ig-item { aspect-ratio:1; overflow:hidden; position:relative; cursor:pointer; }
        .ig-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease,filter 0.5s ease; filter:brightness(0.85); }
        .ig-item:hover img { transform:scale(1.12); filter:brightness(1); }
        @media (max-width:768px) { .ig-grid { grid-template-columns:repeat(3,1fr); } .instagram-section { padding:60px 20px; } }

        /* MANIFESTO COUNTERS */
        .manifesto-counters { display:flex; justify-content:center; gap:80px; margin-top:80px; padding-top:60px; border-top:1px solid rgba(26,61,15,0.1); flex-wrap:wrap; }
        .counter-item { text-align:center; }
        .counter-num { font-family:'Cormorant Garamond',serif; font-size:4rem; font-weight:300; color:var(--green); line-height:1; }
        .counter-label { font-size:0.75rem; letter-spacing:3px; text-transform:uppercase; color:#888; margin-top:10px; }

        /* SECTION HEADER SHARED */
        .section-label { font-size:0.75rem; letter-spacing:5px; text-transform:uppercase; color:var(--gold); margin-bottom:20px; display:block; }
        .section-title-large { font-family:'Cormorant Garamond',serif; font-size:4.5rem; font-weight:300; color:var(--green); letter-spacing:3px; line-height:1.2; margin-bottom:30px; }
        .section-title-light { color:var(--cream); }

        /* ART – BG ILLUSTRATIONS SHARED SIZING */
        .bg-art-top-right svg { position:absolute; top:-100px; right:-80px; width:500px; height:auto; opacity:0.04; pointer-events:none; }
        .bg-art-bottom-left svg { position:absolute; bottom:-80px; left:-60px; width:420px; height:auto; opacity:0.03; pointer-events:none; }

        /* UTILITY */
        .text-gold { color:var(--gold); }
        .text-center { text-align:center; }
        .mt-60 { margin-top:60px; }

        /* MOBILE MENU HAMBURGER */
        .hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; background:none; border:none; }
        .hamburger span { width:24px; height:1px; background:var(--green); display:block; transition:all 0.3s ease; }
        @media (max-width:768px) { .hamburger { display:flex; } }
        .mobile-menu { position:fixed; inset:0; background:var(--cream); z-index:9999; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:40px; transform:translateX(100%); transition:transform 0.5s cubic-bezier(.16,1,.3,1); }
        .mobile-menu.open { transform:none; }
        .mobile-menu a { font-family:'Cormorant Garamond',serif; font-size:2.5rem; color:var(--green); text-decoration:none; letter-spacing:3px; }
        .mobile-close { position:absolute; top:30px; right:30px; background:none; border:none; font-size:1.5rem; cursor:pointer; color:var(--green); }

        /* FIX #1: Hero video pas de débordement */
        .hero-video,.hero-video *{max-width:100%;}
        .hero-video video{max-width:100%;}

        /* FIX #2: Nav centrage parfait */
        nav{position:fixed;top:0;left:0;right:0;width:100%;box-sizing:border-box;}

        /* FIX #3: Overflow horizontal */
        html,body,.site-wrap{overflow-x:hidden!important;max-width:100vw!important}
        .manifesto-bg-art,.heritage-bg-art,.heritage-bg-art2,.gallery-bg-art,.gallery-bg-art2,.loc-bg-art{overflow:hidden;max-width:100%}
        section{overflow-x:hidden}