:root{--color-primary-900:#1e3a4d;--color-primary-800:#2d5166;--color-primary-700:#3d6880;--color-primary-600:#5a8ba8;--color-primary-500:#8BB8D0;--color-primary-400:#a8cce0;--color-primary-300:#c5dfed;--color-primary-200:#dceef6;--color-primary-100:#edf6fa;--color-primary-50:#f5fafc;--color-accent-gold:#D35D3A;--color-accent-gold-hover:#e06b4a;--color-accent-gold-light:#f0a08a;--color-accent-gold-lighter:#fad4c8;--color-accent-terracotta:#B84A2D;--color-accent-terracotta-deep:#8B3621;--color-accent-cream:#FDF8F3;--color-accent-cream-warm:#FFF5EC;--color-accent-olive:#6B8E5A;--color-accent-olive-light:#8AAF78;--color-accent-lemon:#F9E076;--color-accent-lemon-light:#FCF0B8;--color-white:#ffffff;--color-off-white:#FEFDFB;--color-black:#1C1917;--color-charcoal:#292524;--color-gray-900:#1C1917;--color-gray-800:#292524;--color-gray-700:#44403C;--color-gray-600:#57534E;--color-gray-500:#78716C;--color-gray-400:#A8A29E;--color-gray-300:#D6D3D1;--color-gray-200:#E7E5E4;--color-gray-100:#F5F5F4;--color-gray-50:#FAFAF9;--gradient-hero:linear-gradient(
        165deg, 
        var(--color-primary-700) 0%, 
        var(--color-primary-600) 25%,
        var(--color-primary-500) 50%, 
        var(--color-primary-400) 80%,
        #a8d4e8 100%
    );--gradient-warm-hero:linear-gradient(
        165deg,
        #3d6880 0%,
        var(--color-primary-600) 30%,
        var(--color-primary-500) 60%,
        #9fc8de 100%
    );--gradient-overlay:linear-gradient(
        180deg, 
        rgba(45, 81, 102, 0.92) 0%, 
        rgba(90, 139, 168, 0.85) 50%,
        rgba(139, 184, 208, 0.78) 100%
    );--gradient-cta:linear-gradient(
        135deg, 
        var(--color-accent-gold) 0%, 
        #e06b4a 50%,
        var(--color-accent-gold) 100%
    );--gradient-section-warm:linear-gradient(
        180deg,
        var(--color-accent-cream) 0%,
        var(--color-accent-cream-warm) 100%
    );--gradient-glass:linear-gradient(
        135deg, 
        rgba(255, 255, 255, 0.25) 0%, 
        rgba(255, 255, 255, 0.1) 100%
    );--gradient-dolce-vita:linear-gradient(
        135deg, 
        var(--color-primary-500) 0%, 
        #7eb8c9 30%,
        #9bc8d8 60%,
        var(--color-primary-300) 100%
    );--gradient-card-glow:linear-gradient(
        145deg,
        rgba(211, 93, 58, 0.08) 0%,
        rgba(139, 184, 208, 0.05) 100%
    );--shadow-xs:0 1px 2px rgba(28, 25, 23, 0.04);--shadow-sm:0 2px 4px rgba(28, 25, 23, 0.06), 0 1px 2px rgba(28, 25, 23, 0.04);--shadow-md:0 4px 8px rgba(28, 25, 23, 0.08), 0 2px 4px rgba(28, 25, 23, 0.04);--shadow-lg:0 8px 24px rgba(28, 25, 23, 0.1), 0 4px 8px rgba(28, 25, 23, 0.06);--shadow-xl:0 16px 48px rgba(28, 25, 23, 0.12), 0 8px 16px rgba(28, 25, 23, 0.08);--shadow-2xl:0 24px 64px rgba(28, 25, 23, 0.16), 0 12px 24px rgba(28, 25, 23, 0.1);--shadow-terracotta:0 8px 24px rgba(211, 93, 58, 0.25), 0 4px 8px rgba(211, 93, 58, 0.15);--shadow-terracotta-lg:0 12px 32px rgba(211, 93, 58, 0.3), 0 6px 12px rgba(211, 93, 58, 0.2);--shadow-blue:0 8px 24px rgba(139, 184, 208, 0.3), 0 4px 8px rgba(139, 184, 208, 0.2);--shadow-blue-lg:0 12px 32px rgba(139, 184, 208, 0.35), 0 6px 12px rgba(139, 184, 208, 0.25);--shadow-inner:inset 0 2px 4px rgba(28, 25, 23, 0.06);--shadow-inner-lg:inset 0 4px 8px rgba(28, 25, 23, 0.1);--font-display:'Playfair Display', 'Georgia', serif;--font-heading:'Montserrat', 'Helvetica Neue', sans-serif;--font-body:'Nunito', 'Open Sans', sans-serif;--font-accent:'Dancing Script', 'Brush Script MT', cursive;--text-xs:clamp(0.7rem, 0.65rem + 0.25vw, 0.8rem);--text-sm:clamp(0.8rem, 0.75rem + 0.25vw, 0.9rem);--text-base:clamp(0.95rem, 0.9rem + 0.25vw, 1.1rem);--text-lg:clamp(1.1rem, 1rem + 0.5vw, 1.3rem);--text-xl:clamp(1.25rem, 1.1rem + 0.75vw, 1.6rem);--text-2xl:clamp(1.5rem, 1.25rem + 1.25vw, 2rem);--text-3xl:clamp(1.875rem, 1.5rem + 1.875vw, 2.75rem);--text-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3.5rem);--text-5xl:clamp(3rem, 2.25rem + 3.75vw, 5rem);--text-6xl:clamp(3.75rem, 2.75rem + 5vw, 6.5rem);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--space-40:10rem;--space-48:12rem;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px;--container-max:1800px;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-2xl:2rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(61,79,95,0.08);--shadow-md:0 4px 6px -1px rgba(61,79,95,0.12), 0 2px 4px -1px rgba(61,79,95,0.08);--shadow-lg:0 10px 15px -3px rgba(61,79,95,0.12), 0 4px 6px -2px rgba(61,79,95,0.06);--shadow-xl:0 20px 25px -5px rgba(61,79,95,0.12), 0 10px 10px -5px rgba(61,79,95,0.05);--shadow-2xl:0 25px 50px -12px rgba(61,79,95,0.2);--shadow-glow:0 0 40px rgba(139,184,208,0.4);--shadow-glow-gold:0 0 40px rgba(211,93,58,0.3);--transition-fast:150ms ease;--transition-base:300ms ease;--transition-slow:500ms ease;--transition-bounce:500ms cubic-bezier(0.68, -0.55, 0.265, 1.55);--transition-smooth:600ms cubic-bezier(0.4, 0, 0.2, 1);--z-behind:-1;--z-base:0;--z-above:10;--z-dropdown:100;--z-sticky:500;--z-modal:1000;--z-overlay:1100;--z-max:9999;--duration-instant:100ms;--duration-fast:200ms;--duration-normal:400ms;--duration-slow:600ms;--duration-slower:1000ms}[data-theme="dark"]{--color-bg:var(--color-primary-900);--color-surface:var(--color-primary-800);--color-text:var(--color-gray-100);--color-text-muted:var(--color-gray-400)}.preloader{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-accent-cream);display:flex;justify-content:center;align-items:center;z-index:99999;opacity:1;visibility:visible;transition:opacity 0.6s ease,visibility 0.6s ease}.preloader.hidden{opacity:0;visibility:hidden;pointer-events:none}.preloader-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.preloader-logo{width:80px;height:80px;display:flex;justify-content:center;align-items:center}.preloader-logo-img{width:65px;height:auto;filter:invert(35%) sepia(15%) saturate(600%) hue-rotate(167deg) brightness(90%) contrast(90%);animation:preloaderSpin 3s linear infinite}@keyframes preloaderSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.preloader-text{font-family:var(--font-accent);font-size:1.5rem;font-weight:400;color:var(--color-primary-600);letter-spacing:.02em;margin:0;opacity:.9}@media (max-width:768px){.preloader-logo{width:70px;height:70px}.preloader-logo-img{width:55px}.preloader-text{font-size:1.3rem}.preloader-content{gap:1.2rem}}@media (max-width:480px){.preloader-logo{width:60px;height:60px}.preloader-logo-img{width:48px}.preloader-text{font-size:1.1rem}.preloader-content{gap:1rem}}@media (prefers-reduced-motion:reduce){.preloader-logo-img{animation:none}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;color:var(--color-gray-800);background-color:var(--color-white);overflow-x:hidden;min-height:100vh}::selection{background-color:var(--color-primary-400);color:var(--color-white)}::-moz-selection{background-color:var(--color-primary-400);color:var(--color-white)}:focus-visible{outline:3px solid var(--color-primary-400);outline-offset:2px}.skip-to-content{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--color-primary-600);color:var(--color-white);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);text-decoration:none;font-weight:600;z-index:var(--z-max);transition:top var(--transition-fast)}.skip-to-content:focus{top:var(--space-4)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--color-gray-900);margin-bottom:var(--space-4)}h1{font-size:var(--text-5xl);font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}h2{font-size:var(--text-4xl);font-family:var(--font-display);letter-spacing:-.01em}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin-bottom:var(--space-4);max-width:70ch}.lead{font-size:var(--text-xl);line-height:1.6;color:var(--color-gray-600)}.accent-text{font-family:var(--font-accent);font-size:var(--text-2xl);color:var(--color-accent-gold)}.section-subtitle{font-family:var(--font-accent);font-size:var(--text-xl);color:var(--color-primary-400);margin-bottom:var(--space-2);display:block}a{color:var(--color-primary-500);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-700)}strong,b{font-weight:700}em,i{font-style:italic}small{font-size:var(--text-sm)}blockquote{font-family:var(--font-display);font-size:var(--text-xl);font-style:italic;color:var(--color-gray-700);border-left:4px solid var(--color-accent-gold);padding-left:var(--space-6);margin:var(--space-8) 0;position:relative}blockquote::before{content:'"';font-size:4rem;color:var(--color-primary-200);position:absolute;top:-1rem;left:.5rem;font-family:var(--font-display)}.container{width:100%;max-width:var(--container-xl);margin-left:auto;margin-right:auto;padding-left:var(--space-6);padding-right:var(--space-6)}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.container-2xl{max-width:var(--container-2xl)}.container-full{max-width:var(--container-max)}.section{padding:var(--space-24) 0;position:relative;overflow:hidden}.section-sm{padding:var(--space-16) 0}.section-lg{padding:var(--space-32) 0}.grid{display:grid;gap:var(--space-8)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{flex-direction:column}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.gap-12{gap:var(--space-12)}.site-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);padding:var(--space-3) 0;transition:all var(--transition-base);background:#fff0}.site-header.scrolled{background:rgb(10 22 40 / .95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--space-2) 0;box-shadow:var(--shadow-lg)}.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:1400px;margin:0 auto;padding:0 var(--space-6)}.site-logo{display:flex;align-items:center;gap:8px;text-decoration:none;margin-right:auto}.site-logo-img{width:52px;height:auto;filter:brightness(0) invert(1);transition:transform 0.4s cubic-bezier(.4,0,.2,1);flex-shrink:0}.site-logo:hover .site-logo-img{transform:rotate(-6deg) scale(1.08)}.site-logo-text{display:flex;flex-direction:column;align-items:flex-start;gap:0}.site-logo:hover .site-logo-text{transform:scale(1.02);transition:transform 0.3s ease}.site-logo-text-svg{height:22px;width:auto;filter:brightness(0) invert(1);display:block}.logo-tagline{font-family:var(--font-body);font-size:9px;font-weight:400;color:rgb(255 255 255 / .75);letter-spacing:.02em;margin-top:0;white-space:nowrap}.site-header.scrolled .site-logo-img{width:42px}.site-header.scrolled .site-logo-text-svg{height:18px}.site-header.scrolled .logo-tagline{font-size:8px}.main-navigation{display:flex;align-items:center;gap:var(--space-6)}.nav-menu{display:flex;list-style:none;gap:var(--space-5);margin:0;padding:0;align-items:center}.nav-menu li{position:relative}.nav-menu a{font-family:var(--font-heading);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-white);padding:var(--space-2) var(--space-2);position:relative;transition:color var(--transition-fast);white-space:nowrap}.nav-menu a::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--color-accent-gold);transition:all var(--transition-base);transform:translateX(-50%)}.nav-menu a:hover::after,.nav-menu a.active::after{width:100%}.nav-menu a:hover{color:var(--color-accent-gold)}.nav-menu .has-dropdown{position:relative}.nav-menu .dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-4);min-width:220px;opacity:0;visibility:hidden;transition:all var(--transition-base);list-style:none}.nav-menu .has-dropdown:hover .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.dropdown a{color:var(--color-gray-800);display:block;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);transition:all var(--transition-fast)}.dropdown a:hover{background:var(--color-primary-50);color:var(--color-primary-600)}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:var(--space-2)}.nav-toggle span{width:28px;height:3px;background:var(--color-white);border-radius:var(--radius-full);transition:all var(--transition-base)}.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.header-cta{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-accent-gold);color:var(--color-white);font-family:var(--font-heading);font-weight:700;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);border:2px solid var(--color-accent-gold);cursor:pointer;transition:all 0.3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-terracotta);position:relative;overflow:hidden}.header-cta::before{content:'';position:absolute;inset:0;background:linear-gradient(45deg,transparent,rgb(255 255 255 / .2),transparent);transform:translateX(-100%);transition:transform 0.5s ease}.header-cta:hover::before{transform:translateX(100%)}.header-cta:hover{background:var(--color-accent-gold-hover);border-color:var(--color-accent-gold-hover);transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-terracotta-lg);color:var(--color-white)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;background:var(--gradient-hero);overflow:hidden;padding-top:100px}.hero-background{position:absolute;inset:0;z-index:var(--z-behind)}.hero-background-pattern{position:absolute;inset:0}.hero-foodtruck{position:absolute;right:-5%;bottom:10%;width:50%;max-width:700px;opacity:.12;transform:scaleX(-1);animation:truckFloat 6s ease-in-out infinite}.hero-foodtruck-img{width:100%;height:auto;filter:grayscale(100%) brightness(2)}@keyframes truckFloat{0%,100%{transform:scaleX(-1) translateY(0)}50%{transform:scaleX(-1) translateY(-20px)}}.floating-elements{position:absolute;inset:0;pointer-events:none;overflow:hidden}.floating-item{position:absolute;opacity:.25;animation:float 8s ease-in-out infinite}.hero-deco-img{width:100%;height:auto;filter:grayscale(100%) brightness(1.5);opacity:.7}.floating-item:nth-child(1){animation-delay:0s}.floating-item:nth-child(2){animation-delay:1s}.floating-item:nth-child(3){animation-delay:2s}.floating-item:nth-child(4){animation-delay:3s}.floating-item:nth-child(5){animation-delay:4s}.floating-item:nth-child(6){animation-delay:5s}@keyframes float{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-15px) rotate(5deg)}50%{transform:translateY(-25px) rotate(0deg)}75%{transform:translateY(-15px) rotate(-5deg)}}.hero-content{position:relative;z-index:var(--z-above);text-align:center;max-width:900px;padding:var(--space-8)}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:rgb(211 93 58 / .9);backdrop-filter:blur(10px);border:1px solid rgb(255 255 255 / .3);border-radius:var(--radius-full);padding:var(--space-2) var(--space-5);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:700;color:var(--color-white);margin-bottom:var(--space-6);animation:fadeInUp 0.8s ease forwards;box-shadow:var(--shadow-terracotta);text-transform:uppercase;letter-spacing:.08em}.hero-badge-icon{font-size:1.2em}.hero-title{font-family:var(--font-display);font-size:var(--text-6xl);font-weight:700;color:var(--color-white);margin-bottom:var(--space-4);text-shadow:0 4px 40px rgb(0 0 0 / .35);animation:fadeInUp 0.8s ease 0.2s forwards;opacity:0}.hero-title-svg{display:block;max-width:520px;margin:0 auto var(--space-4);filter:brightness(0) invert(1);transition:all 0.4s ease;drop-shadow:0 4px 20px rgb(0 0 0 / .2)}.hero-title .accent{font-family:var(--font-accent);color:var(--color-accent-gold-light);display:block;font-size:var(--text-3xl);margin-top:var(--space-2);text-shadow:0 2px 20px rgb(211 93 58 / .4)}.hero-subtitle{font-family:var(--font-body);font-size:var(--text-xl);color:rgb(255 255 255 / .95);max-width:620px;margin:0 auto var(--space-10);line-height:1.8;animation:fadeInUp 0.8s ease 0.4s forwards;opacity:0;text-shadow:0 2px 10px rgb(0 0 0 / .15)}.hero-cta-group{display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:center;animation:fadeInUp 0.8s ease 0.6s forwards;opacity:0}.hero-scroll-indicator{position:absolute;bottom:var(--space-8);left:50%;transform:translateX(-50%);color:var(--color-white);text-align:center;animation:bounce 2s infinite}.scroll-arrow{width:30px;height:50px;border:2px solid rgb(255 255 255 / .5);border-radius:15px;position:relative;margin:0 auto var(--space-2)}.scroll-arrow::before{content:'';width:6px;height:10px;background:var(--color-white);border-radius:3px;position:absolute;top:8px;left:50%;transform:translateX(-50%);animation:scrollDown 2s infinite}@keyframes scrollDown{0%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(15px)}}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-10px)}60%{transform:translateX(-50%) translateY(-5px)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.services-section{background:var(--color-accent-cream);position:relative}.services-section::before{content:'';position:absolute;top:0;left:0;right:0;height:300px;background:linear-gradient(180deg,var(--color-primary-500) 0%,transparent 100%);opacity:.08}.services-subsection{text-align:center;margin-bottom:var(--space-8)}.services-subsection-title{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--color-primary-700);font-weight:600;margin:var(--space-8) 0 var(--space-4)}.services-cuisine{margin-top:var(--space-12);text-align:center;padding:var(--space-8);background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.cuisine-features{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-6);margin-top:var(--space-6)}.cuisine-feature{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--color-primary-50);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-primary-700)}.cuisine-icon{font-size:1.2rem}.zones-autonomy{text-align:center;margin-bottom:var(--space-8);padding:var(--space-6);background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.zones-autonomy h3{color:var(--color-primary-700);margin-bottom:var(--space-3)}.zones-autonomy p{color:var(--color-gray-600);max-width:700px;margin:0 auto}.formules-subtitle{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-primary-600);font-weight:600;margin:var(--space-6) 0 var(--space-4)}.section-header{text-align:center;max-width:700px;margin:0 auto var(--space-16)}.section-header .section-subtitle{font-family:var(--font-accent);font-size:var(--text-xl);color:var(--color-accent-gold)}.section-header h2{color:var(--color-gray-900)}.section-header .lead{color:var(--color-gray-600)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-8)}.service-card{background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-8);position:relative;overflow:hidden;transition:all 0.4s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md);cursor:pointer;border:1px solid #fff0}.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--color-accent-gold),var(--color-accent-gold-hover),var(--color-accent-gold));transform:scaleX(0);transform-origin:left;transition:transform 0.4s cubic-bezier(.4,0,.2,1)}.service-card::after{content:'';position:absolute;inset:0;background:var(--gradient-card-glow);opacity:0;transition:opacity 0.4s ease}.service-card:hover::before{transform:scaleX(1)}.service-card:hover::after{opacity:1}.service-card:hover{transform:translateY(-12px);box-shadow:var(--shadow-xl);border-color:var(--color-accent-gold-lighter)}.service-icon{width:80px;height:80px;background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-400));border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:var(--space-6);transition:all 0.4s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-blue);position:relative;z-index:1}.service-card:hover .service-icon{transform:scale(1.1) rotate(5deg);box-shadow:var(--shadow-blue-lg);background:linear-gradient(135deg,var(--color-accent-gold),var(--color-accent-gold-hover))}.service-card h3{font-size:var(--text-xl);color:var(--color-gray-900);margin-bottom:var(--space-3);position:relative;z-index:1}.service-card p{color:var(--color-gray-600);margin-bottom:var(--space-4);position:relative;z-index:1}.service-link{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;color:var(--color-accent-gold);transition:all 0.3s ease;position:relative;z-index:1}.service-link:hover{gap:var(--space-3);color:var(--color-accent-terracotta)}.about-section{background:var(--color-white);position:relative}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}.about-image-wrapper{position:relative}.about-image{border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-2xl);position:relative;z-index:2}.about-image img{width:100%;height:auto;display:block;transition:transform var(--transition-slow)}.about-image:hover img{transform:scale(1.05)}.about-image-decoration{position:absolute;top:-20px;right:-20px;width:200px;height:200px;background:var(--gradient-warm);border-radius:var(--radius-2xl);z-index:1;opacity:.3}.about-stats{position:absolute;bottom:-30px;left:-30px;background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-xl);z-index:3;display:flex;gap:var(--space-8)}.stat-item{text-align:center}.stat-number{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;color:var(--color-primary-600);line-height:1;display:block}.stat-label{font-size:var(--text-sm);color:var(--color-gray-600);margin-top:var(--space-1)}.about-content h2{color:var(--color-gray-900)}.about-features{display:grid;gap:var(--space-4);margin-top:var(--space-8)}.about-feature{display:flex;align-items:flex-start;gap:var(--space-4)}.about-feature-icon{width:48px;height:48px;background:var(--color-primary-50);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.about-feature h4{font-size:var(--text-lg);margin-bottom:var(--space-1)}.about-feature p{font-size:var(--text-sm);color:var(--color-gray-600);margin:0}.menu-section{background:var(--gradient-hero);color:var(--color-white);position:relative;overflow:hidden}.menu-section .section-header h2,.menu-section .section-header .lead{color:var(--color-white)}.menu-section .section-header .section-subtitle{color:var(--color-accent-gold)}.menu-tabs{display:flex;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-12);flex-wrap:wrap}.menu-tab{background:rgb(255 255 255 / .1);border:1px solid rgb(255 255 255 / .2);color:var(--color-white);font-family:var(--font-heading);font-weight:600;font-size:var(--text-sm);padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);backdrop-filter:blur(10px)}.menu-tab:hover,.menu-tab.active{background:var(--color-white);color:var(--color-primary-600);transform:translateY(-2px)}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--space-6)}.menu-item{background:rgb(255 255 255 / .1);backdrop-filter:blur(10px);border:1px solid rgb(255 255 255 / .2);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;gap:var(--space-4);transition:all var(--transition-smooth)}.menu-item:hover{background:rgb(255 255 255 / .15);transform:translateX(10px);border-color:var(--color-accent-gold)}.menu-item-image{width:100px;height:100px;border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0}.menu-item-image img{width:100%;height:100%;object-fit:cover}.menu-item-content{flex:1}.menu-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.menu-item-name{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;margin:0}.menu-item-price{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-accent-gold)}.menu-item-description{font-size:var(--text-sm);color:var(--color-primary-100);margin:0;line-height:1.5}.menu-item-tags{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.menu-tag{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);background:rgb(255 255 255 / .2);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em}.gallery-section{background:var(--color-gray-50);padding:var(--space-24) 0}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,200px);gap:var(--space-4)}.gallery-item{position:relative;border-radius:var(--radius-xl);overflow:hidden;cursor:pointer}.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2}.gallery-item:nth-child(5){grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.gallery-item:hover img{transform:scale(1.1)}.gallery-overlay{position:absolute;inset:0;background:var(--gradient-overlay);opacity:0;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-base)}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay-icon{width:60px;height:60px;background:var(--color-white);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--color-primary-600);transform:scale(0);transition:transform var(--transition-bounce)}.gallery-item:hover .gallery-overlay-icon{transform:scale(1)}.testimonials-section{background:var(--color-white);position:relative;overflow:hidden}.testimonials-section::before{content:'';position:absolute;top:0;right:0;width:40%;height:100%;background:var(--color-primary-50);clip-path:polygon(20% 0,100% 0,100% 100%,0 100%)}.testimonials-slider{position:relative;z-index:2}.testimonial-card{background:var(--color-white);border-radius:var(--radius-2xl);padding:var(--space-10);box-shadow:var(--shadow-xl);max-width:800px;margin:0 auto;text-align:center;position:relative}.testimonial-card::before{content:'"';font-family:var(--font-display);font-size:8rem;color:var(--color-primary-100);position:absolute;top:-20px;left:30px;line-height:1}.testimonial-content{font-family:var(--font-display);font-size:var(--text-2xl);font-style:italic;color:var(--color-gray-700);margin-bottom:var(--space-8);line-height:1.6;position:relative;z-index:2}.testimonial-author{display:flex;align-items:center;justify-content:center;gap:var(--space-4)}.testimonial-avatar{width:70px;height:70px;border-radius:var(--radius-full);overflow:hidden;border:3px solid var(--color-primary-300)}.testimonial-avatar img{width:100%;height:100%;object-fit:cover}.testimonial-info h4{font-size:var(--text-lg);margin-bottom:0}.testimonial-info p{font-size:var(--text-sm);color:var(--color-gray-500);margin:0}.testimonial-rating{display:flex;gap:var(--space-1);justify-content:center;margin-top:var(--space-4);color:var(--color-accent-gold);font-size:1.25rem}.faq-section{background:var(--color-gray-50)}.faq-container{max-width:800px;margin:0 auto}.faq-item{background:var(--color-white);border-radius:var(--radius-lg);margin-bottom:var(--space-4);overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.faq-item:hover{box-shadow:var(--shadow-md)}.faq-question{width:100%;background:none;border:none;padding:var(--space-6);display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;color:var(--color-gray-900);transition:color var(--transition-fast)}.faq-question:hover{color:var(--color-primary-600)}.faq-icon{width:32px;height:32px;background:var(--color-primary-50);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--color-primary-600);transition:all var(--transition-base);flex-shrink:0}.faq-item.active .faq-icon{background:var(--color-primary-600);color:var(--color-white);transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:all var(--transition-smooth)}.faq-item.active .faq-answer{max-height:300px}.faq-answer-content{padding:0 var(--space-6) var(--space-6);color:var(--color-gray-600);line-height:1.7}.contact-section{background:var(--gradient-hero);color:var(--color-white);position:relative;overflow:hidden}.contact-section::before{display:none}.contact-section .section-header h2,.contact-section .section-header .lead{color:var(--color-white)}.contact-section .section-header .section-subtitle{color:var(--color-accent-gold)}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--space-12);align-items:start}.contact-info{position:relative;z-index:2}.contact-info-item{display:flex;gap:var(--space-4);margin-bottom:var(--space-8)}.contact-info-icon{width:56px;height:56px;background:rgb(255 255 255 / .1);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;border:1px solid rgb(255 255 255 / .2)}.contact-info-content h4{font-size:var(--text-lg);margin-bottom:var(--space-1);color:var(--color-white)}.contact-info-content p,.contact-info-content a{color:var(--color-primary-100);margin:0}.contact-info-content a:hover{color:var(--color-accent-gold)}.contact-social{display:flex;gap:var(--space-3);margin-top:var(--space-8)}.social-link{width:48px;height:48px;background:rgb(255 255 255 / .1);border:1px solid rgb(255 255 255 / .2);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--color-white);transition:all var(--transition-base)}.social-link:hover{background:var(--color-white);color:var(--color-primary-600);transform:translateY(-5px)}.contact-form-wrapper{background:rgb(255 255 255 / .1);backdrop-filter:blur(20px);border:1px solid rgb(255 255 255 / .2);border-radius:var(--radius-2xl);padding:var(--space-10);position:relative;z-index:2}.site-footer{background:linear-gradient(180deg,var(--color-primary-800) 0%,var(--color-primary-900) 100%);color:var(--color-white);position:relative}.site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-accent-gold),var(--color-accent-gold-hover),var(--color-accent-gold))}.footer-main{padding:var(--space-20) 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-12)}.footer-brand .site-logo{margin-bottom:var(--space-6)}.footer-logo-img{height:80px;width:auto;margin-bottom:var(--space-4);filter:brightness(0) invert(1);transition:all 0.4s ease}.footer-brand .site-logo:hover .footer-logo-img{filter:brightness(1);transform:rotate(-5deg) scale(1.08)}.footer-brand p{color:var(--color-primary-200);max-width:300px;line-height:1.7}.footer-newsletter{margin-top:var(--space-6)}.footer-newsletter h4{color:var(--color-accent-gold-light)}.newsletter-form{display:flex;gap:var(--space-2)}.newsletter-input{flex:1;background:rgb(255 255 255 / .08);border:1px solid rgb(255 255 255 / .15);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);color:var(--color-white);font-size:var(--text-sm);transition:all 0.3s ease}.newsletter-input:focus{background:rgb(255 255 255 / .12);border-color:var(--color-accent-gold);outline:none}.newsletter-input::placeholder{color:var(--color-primary-300)}.newsletter-btn{background:var(--color-accent-gold);color:var(--color-white);border:none;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);font-weight:700;cursor:pointer;transition:all 0.3s ease}.newsletter-btn:hover{background:var(--color-accent-gold-hover);transform:translateY(-2px);box-shadow:var(--shadow-terracotta)}.footer-links h4{color:var(--color-white);font-size:var(--text-lg);margin-bottom:var(--space-6);position:relative;padding-bottom:var(--space-3)}.footer-links h4::after{content:'';position:absolute;bottom:0;left:0;width:30px;height:2px;background:var(--color-accent-gold)}.footer-links ul{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:var(--space-3)}.footer-links a{color:var(--color-primary-200);font-size:var(--text-sm);transition:all 0.3s ease;display:inline-flex;align-items:center;gap:var(--space-2)}.footer-links a:hover{color:var(--color-accent-gold);transform:translateX(5px)}.footer-bottom{border-top:1px solid rgb(255 255 255 / .1);padding:var(--space-6) 0}.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.footer-copyright{color:var(--color-gray-500);font-size:var(--text-sm)}.footer-legal{display:flex;gap:var(--space-6)}.footer-legal a{color:var(--color-gray-500);font-size:var(--text-sm)}.footer-legal a:hover{color:var(--color-white)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-heading);font-weight:700;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-4) var(--space-8);border-radius:var(--radius-full);border:2px solid #fff0;cursor:pointer;transition:all 0.3s cubic-bezier(.4,0,.2,1);text-decoration:none;position:relative;overflow:hidden}.btn::before{content:'';position:absolute;inset:0;background:linear-gradient(45deg,transparent,rgb(255 255 255 / .3),transparent);transform:translateX(-100%);transition:transform 0.6s ease}.btn:hover::before{transform:translateX(100%)}.btn-primary{background:var(--color-accent-gold);color:var(--color-white);box-shadow:var(--shadow-terracotta);border-color:var(--color-accent-gold)}.btn-primary:hover{background:var(--color-accent-gold-hover);border-color:var(--color-accent-gold-hover);transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-terracotta-lg);color:var(--color-white)}.btn-primary:active{transform:translateY(-2px) scale(1.01)}.btn-secondary{background:rgb(255 255 255 / .15);color:var(--color-white);border-color:rgb(255 255 255 / .5);backdrop-filter:blur(10px)}.btn-secondary:hover{background:var(--color-white);color:var(--color-primary-700);border-color:var(--color-white);transform:translateY(-3px);box-shadow:var(--shadow-lg)}.btn-outline{background:#fff0;color:var(--color-accent-gold);border-color:var(--color-accent-gold)}.btn-outline:hover{background:var(--color-accent-gold);color:var(--color-white);transform:translateY(-3px);box-shadow:var(--shadow-terracotta)}.btn-outline-blue{background:#fff0;color:var(--color-primary-600);border-color:var(--color-primary-600)}.btn-outline-blue:hover{background:var(--color-primary-600);color:var(--color-white);transform:translateY(-3px);box-shadow:var(--shadow-blue)}.btn-lg{padding:var(--space-5) var(--space-12);font-size:var(--text-base)}.btn-sm{padding:var(--space-2) var(--space-5);font-size:var(--text-xs)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-family:var(--font-heading);font-weight:600;font-size:var(--text-sm);color:var(--color-white);margin-bottom:var(--space-2)}.form-input,.form-textarea,.form-select{width:100%;background:rgb(255 255 255 / .1);border:1px solid rgb(255 255 255 / .2);border-radius:var(--radius-lg);padding:var(--space-4);color:var(--color-white);font-family:var(--font-body);font-size:var(--text-base);transition:all var(--transition-fast)}.form-input::placeholder,.form-textarea::placeholder{color:rgb(255 255 255 / .5)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-accent-gold);background:rgb(255 255 255 / .15);box-shadow:0 0 0 3px rgb(212 168 83 / .2)}.form-textarea{min-height:150px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-checkbox{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer}.form-checkbox input{width:20px;height:20px;margin-top:2px;accent-color:var(--color-accent-gold)}.form-checkbox span{font-size:var(--text-sm);color:var(--color-primary-100)}.form-submit{width:100%;margin-top:var(--space-6)}.form-light .form-label{color:var(--color-gray-800)}.form-light .form-input,.form-light .form-textarea,.form-light .form-select{background:var(--color-white);border-color:var(--color-gray-200);color:var(--color-gray-900)}.form-light .form-input:focus,.form-light .form-textarea:focus,.form-light .form-select:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px rgb(31 94 164 / .1)}.card{background:var(--color-white);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);transition:all var(--transition-smooth)}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl)}.card-image{aspect-ratio:16/10;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.card:hover .card-image img{transform:scale(1.1)}.card-content{padding:var(--space-6)}.card-title{font-size:var(--text-xl);margin-bottom:var(--space-3)}.card-text{color:var(--color-gray-600);margin-bottom:var(--space-4)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.badge-primary{background:var(--color-primary-100);color:var(--color-primary-700)}.badge-success{background:#dcfce7;color:#166534}.badge-warning{background:#fef3c7;color:#92400e}.tag{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);padding:var(--space-1) var(--space-2);background:var(--color-gray-100);color:var(--color-gray-600);border-radius:var(--radius-sm)}[data-animate]{opacity:0;transform:translateY(30px);transition:all 0.8s cubic-bezier(.4,0,.2,1)}[data-animate].animated{opacity:1;transform:translateY(0)}[data-animate="fade-up"]{transform:translateY(50px)}[data-animate="fade-left"]{transform:translateX(-50px)}[data-animate="fade-right"]{transform:translateX(50px)}[data-animate="scale"]{transform:scale(.9)}[data-animate="fade-up"].animated,[data-animate="fade-left"].animated,[data-animate="fade-right"].animated{transform:translate(0)}[data-animate="scale"].animated{transform:scale(1)}[data-delay="100"]{transition-delay:100ms}[data-delay="200"]{transition-delay:200ms}[data-delay="300"]{transition-delay:300ms}[data-delay="400"]{transition-delay:400ms}[data-delay="500"]{transition-delay:500ms}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.pulse{animation:pulse 2s infinite}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,transparent,rgb(255 255 255 / .3),transparent);background-size:200% 100%;animation:shimmer 2s infinite}.glow{animation:glow 2s ease-in-out infinite alternate}@keyframes glow{from{box-shadow:0 0 20px rgb(31 94 164 / .3)}to{box-shadow:0 0 40px rgb(31 94 164 / .6)}}.pattern-dots{background-image:radial-gradient(var(--color-gray-300) 1px,transparent 1px);background-size:20px 20px}.pattern-grid{background-image:linear-gradient(rgb(31 94 164 / .1) 1px,transparent 1px),linear-gradient(90deg,rgb(31 94 164 / .1) 1px,transparent 1px);background-size:50px 50px}.pattern-waves{background-image:url("data:image/svg+xml,%3Csvg width='100' height='20' viewBox='0 0 100 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.184 20c.357-.13.72-.264 1.088-.402l1.768-.661C33.64 15.347 39.647 14 50 14c10.271 0 15.362 1.222 24.629 4.928.955.383 1.869.74 2.75 1.072h6.225c-2.51-.73-5.139-1.691-8.233-2.928C65.888 13.278 60.562 12 50 12c-10.626 0-16.855 1.397-26.66 5.063l-1.767.662c-2.475.923-4.66 1.674-6.724 2.275h6.335zm0-20C13.258 2.892 8.077 4 0 4V2c5.744 0 9.951-.574 14.85-2h6.334zM77.38 0C85.239 2.966 90.502 4 100 4V2c-6.842 0-11.386-.542-16.396-2h-6.225zM0 14c8.44 0 13.718-1.21 22.272-4.402l1.768-.661C33.64 5.347 39.647 4 50 4c10.271 0 15.362 1.222 24.629 4.928C84.112 12.722 89.438 14 100 14v-2c-10.271 0-15.362-1.222-24.629-4.928C65.888 3.278 60.562 2 50 2 39.374 2 33.145 3.397 23.34 7.063l-1.767.662C13.223 10.84 8.163 12 0 12v2z' fill='%238BB8D0' fill-opacity='0.08' fill-rule='evenodd'/%3E%3C/svg%3E")}.pattern-italian{background-color:var(--color-primary-50);background-image:url("data:image/svg+xml,%3Csvg width='200' height='200' viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%238BB8D0' stroke-width='1.2' stroke-opacity='0.4'%3E%3C!-- Pizza slice --%3E%3Cpath d='M30 40 L50 70 L10 70 Z M25 55 a2 2 0 1 0 4 0 a2 2 0 1 0 -4 0 M35 60 a2 2 0 1 0 4 0 a2 2 0 1 0 -4 0 M30 50 a1.5 1.5 0 1 0 3 0 a1.5 1.5 0 1 0 -3 0'/%3E%3C!-- Citron --%3E%3Cellipse cx='160' cy='50' rx='12' ry='15'/%3E%3Cpath d='M160 35 Q165 30 160 28'/%3E%3Cpath d='M155 38 Q160 42 165 38'/%3E%3C!-- Coeur --%3E%3Cpath d='M100 95 C100 85 90 80 85 85 C80 90 80 100 100 115 C120 100 120 90 115 85 C110 80 100 85 100 95' fill='%238BB8D0' fill-opacity='0.3'/%3E%3C!-- Feuille --%3E%3Cpath d='M50 150 Q60 145 70 150 M55 147 L55 155 M60 145 L60 157 M65 147 L65 155'/%3E%3C!-- M cercle --%3E%3Ccircle cx='150' cy='150' r='18'/%3E%3Cpath d='M140 160 L140 145 L150 155 L160 145 L160 160' stroke-width='2'/%3E%3C!-- Pizza 2 --%3E%3Cpath d='M170 100 L185 125 L155 125 Z'/%3E%3Ccircle cx='170' cy='115' r='2' fill='%238BB8D0' fill-opacity='0.3'/%3E%3C!-- Citron 2 --%3E%3Cellipse cx='30' cy='130' rx='8' ry='10'/%3E%3Cpath d='M30 120 Q33 117 30 115'/%3E%3C!-- Petit coeur --%3E%3Cpath d='M58 22 C58 18 54 16 52 18 C50 20 50 24 58 30 C66 24 66 20 64 18 C62 16 58 18 58 22' fill='%238BB8D0' fill-opacity='0.3'/%3E%3C!-- Feuilles 2 --%3E%3Cpath d='M120 180 Q130 175 140 180 M125 177 L125 183 M130 175 L130 185 M135 177 L135 183'/%3E%3C!-- M petit --%3E%3Ccircle cx='70' cy='90' r='10'/%3E%3Cpath d='M64 95 L64 87 L70 92 L76 87 L76 95' stroke-width='1.5'/%3E%3C/g%3E%3C/svg%3E");background-size:200px 200px}.pattern-dolce-vita{background-color:var(--color-primary-500);background-image:url("data:image/svg+xml,%3Csvg width='150' height='150' viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%233d4f5f' stroke-width='1.3'%3E%3C!-- Pizza --%3E%3Cpath d='M20 25 L35 50 L5 50 Z'/%3E%3Ccircle cx='18' cy='40' r='2' fill='%233d4f5f'/%3E%3Ccircle cx='25' cy='43' r='1.5' fill='%233d4f5f'/%3E%3C!-- Citron --%3E%3Cellipse cx='120' cy='30' rx='10' ry='13'/%3E%3Cpath d='M120 17 Q124 13 120 10'/%3E%3C!-- M cercle grand --%3E%3Ccircle cx='75' cy='75' r='15'/%3E%3Cpath d='M66 83 L66 70 L75 78 L84 70 L84 83' stroke-width='2'/%3E%3C!-- Coeur --%3E%3Cpath d='M130 90 C130 83 123 80 120 83 C117 86 117 93 130 105 C143 93 143 86 140 83 C137 80 130 83 130 90' fill='%233d4f5f' fill-opacity='0.7'/%3E%3C!-- Feuille olivier --%3E%3Cpath d='M35 100 Q45 95 55 100'/%3E%3Cpath d='M40 97 L40 103 M45 95 L45 105 M50 97 L50 103'/%3E%3C!-- Pizza mini --%3E%3Cpath d='M100 120 L112 140 L88 140 Z'/%3E%3Ccircle cx='100' cy='132' r='1.5' fill='%233d4f5f'/%3E%3C!-- Petit coeur --%3E%3Cpath d='M25 130 C25 126 21 124 19 126 C17 128 17 132 25 138 C33 132 33 128 31 126 C29 124 25 126 25 130' fill='%233d4f5f' fill-opacity='0.7'/%3E%3C!-- M mini --%3E%3Ccircle cx='60' cy='130' r='8'/%3E%3Cpath d='M55 134 L55 127 L60 131 L65 127 L65 134' stroke-width='1.2'/%3E%3C!-- Citron mini --%3E%3Cellipse cx='140' cy='130' rx='7' ry='9'/%3E%3Cpath d='M140 121 Q143 118 140 116'/%3E%3C!-- Feuille 2 --%3E%3Cpath d='M85 15 Q95 10 105 15'/%3E%3Cpath d='M90 12 L90 18 M95 10 L95 20 M100 12 L100 18'/%3E%3C/g%3E%3C/svg%3E");background-size:150px 150px}.pattern-dolce-vita-light{background-color:var(--color-primary-100);background-image:url("data:image/svg+xml,%3Csvg width='150' height='150' viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%236a97ae' stroke-width='1' stroke-opacity='0.3'%3E%3Cpath d='M20 25 L35 50 L5 50 Z'/%3E%3Ccircle cx='18' cy='40' r='2' fill='%236a97ae' fill-opacity='0.3'/%3E%3Cellipse cx='120' cy='30' rx='10' ry='13'/%3E%3Cpath d='M120 17 Q124 13 120 10'/%3E%3Ccircle cx='75' cy='75' r='15'/%3E%3Cpath d='M66 83 L66 70 L75 78 L84 70 L84 83' stroke-width='1.5'/%3E%3Cpath d='M130 90 C130 83 123 80 120 83 C117 86 117 93 130 105 C143 93 143 86 140 83 C137 80 130 83 130 90' fill='%236a97ae' fill-opacity='0.2'/%3E%3Cpath d='M35 100 Q45 95 55 100 M40 97 L40 103 M45 95 L45 105 M50 97 L50 103'/%3E%3Cpath d='M100 120 L112 140 L88 140 Z'/%3E%3Cpath d='M25 130 C25 126 21 124 19 126 C17 128 17 132 25 138 C33 132 33 128 31 126 C29 124 25 126 25 130' fill='%236a97ae' fill-opacity='0.2'/%3E%3Ccircle cx='60' cy='130' r='8'/%3E%3Cpath d='M55 134 L55 127 L60 131 L65 127 L65 134'/%3E%3Cellipse cx='140' cy='130' rx='7' ry='9'/%3E%3Cpath d='M85 15 Q95 10 105 15 M90 12 L90 18 M95 10 L95 20 M100 12 L100 18'/%3E%3C/g%3E%3C/svg%3E");background-size:150px 150px}#tapestry-global{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:0;overflow:visible;background:var(--gradient-hero)}#tapestry-global .tapestry-element{transition:transform 0.15s ease-out}section,.section,main>*,.site-footer{position:relative;z-index:1;background-color:var(--color-white)}.hero{background:var(--gradient-hero)!important;background-color:var(--color-primary-600)!important}.menu-section{background:transparent!important;background-color:transparent!important}.contact-section{background:transparent!important;background-color:transparent!important}.page-header{background:transparent!important;background-color:transparent!important}.faq-section{background-color:var(--color-white)!important;position:relative}.faq-section::before{content:'';position:absolute;inset:0;background:var(--gradient-hero);opacity:.08;z-index:-1;pointer-events:none}.services-section{background-color:var(--color-accent-cream)!important}.about-section{background-color:var(--color-white)!important}.testimonials-section{background-color:var(--color-white)!important}.gallery-section{background-color:var(--color-gray-50)!important}.hero .container,.hero-content,.hero-background,.menu-section .container,.contact-section .container,.contact-section .contact-grid,.page-header .container,.faq-section .container{position:relative;z-index:2}.tapestry-background{display:none!important}@media (max-width:768px){#tapestry-global .tapestry-element{opacity:0.16!important}}@media (prefers-reduced-motion:reduce){#tapestry-global .tapestry-element{transition:none!important}}@media print{#tapestry-global{display:none!important}}@media screen and (max-width:1280px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr}}@media screen and (max-width:1024px){.about-grid,.contact-grid{grid-template-columns:1fr;gap:var(--space-12)}.about-image-wrapper{order:-1;max-width:600px;margin:0 auto}.footer-grid{grid-template-columns:1fr 1fr;gap:var(--space-10)}.footer-brand{grid-column:span 2}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,200px)}.gallery-item:nth-child(1){grid-column:span 2}.gallery-item:nth-child(5){grid-column:span 1}}@media screen and (max-width:768px){:root{--space-24:4rem;--space-32:5rem}.nav-toggle{display:flex}.main-navigation{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-primary-900);flex-direction:column;justify-content:center;align-items:center;opacity:0;visibility:hidden;transition:all var(--transition-base)}.main-navigation.active{opacity:1;visibility:visible}.nav-menu{flex-direction:column;align-items:center;gap:var(--space-8)}.nav-menu a{font-size:var(--text-xl)}.header-cta{margin-top:var(--space-8)}.hero-title{font-size:var(--text-4xl)}.hero-title-svg{max-width:280px}.site-logo-img{height:40px}.site-logo-text-svg{height:16px}.hero-foodtruck{width:70%;right:-10%;opacity:.08}.floating-item{opacity:.15}.hero-deco-img{opacity:.5}.hero-cta-group{flex-direction:column;width:100%;max-width:300px}.hero-cta-group .btn{width:100%}.services-grid{grid-template-columns:1fr}.menu-grid{grid-template-columns:1fr}.menu-item{flex-direction:column}.menu-item-image{width:100%;height:200px}.gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(6,250px)}.gallery-item:nth-child(1),.gallery-item:nth-child(5){grid-column:span 1;grid-row:span 1}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-brand{grid-column:span 1}.footer-brand p{margin-left:auto;margin-right:auto}.newsletter-form{flex-direction:column}.footer-bottom-inner{flex-direction:column;text-align:center}.form-row{grid-template-columns:1fr}.about-stats{position:relative;left:0;bottom:0;margin-top:var(--space-6);justify-content:center}}@media screen and (max-width:480px){.container{padding-left:var(--space-4);padding-right:var(--space-4)}.hero-badge{font-size:var(--text-xs)}.service-card{padding:var(--space-6)}.testimonial-card{padding:var(--space-6)}.testimonial-content{font-size:var(--text-lg)}.contact-form-wrapper{padding:var(--space-6)}.about-stats{flex-direction:column;gap:var(--space-4)}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}.floating-item,.hero-foodtruck,.pattern-float{animation:none!important}}@media (prefers-contrast:high){:root{--color-primary-500:#0047ab;--color-accent-gold:#b8860b}.btn-primary{border:2px solid currentColor}.nav-menu a::after{height:3px}}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-accent-gold);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media print{*,*::before,*::after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]::after{content:" (" attr(href) ")"}.site-header,.site-footer,.nav-toggle,.hero-background,.floating-elements{display:none!important}.container{max-width:100%}img{max-width:100%!important}h1,h2,h3{page-break-after:avoid}p,blockquote{orphans:3;widows:3}}.schema-rating{display:inline-flex;align-items:center;gap:var(--space-1)}.schema-rating-value{font-weight:700;color:var(--color-accent-gold)}.schema-price{font-family:var(--font-display);font-weight:700;color:var(--color-primary-600)}.schema-hours{font-size:var(--text-sm);color:var(--color-gray-600)}.schema-address{font-style:normal}.alignleft{float:left;margin-right:var(--space-6);margin-bottom:var(--space-4)}.alignright{float:right;margin-left:var(--space-6);margin-bottom:var(--space-4)}.aligncenter{display:block;margin-left:auto;margin-right:auto}.alignwide{max-width:var(--container-xl);margin-left:auto;margin-right:auto}.alignfull{width:100vw;max-width:100vw;margin-left:calc(-50vw + 50%)}.wp-block-image img{max-width:100%;height:auto}.wp-block-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4)}.wp-block-quote{border-left:4px solid var(--color-accent-gold);padding-left:var(--space-6);font-style:italic}.wp-block-button .wp-block-button__link{display:inline-block;padding:var(--space-3) var(--space-6);background:var(--gradient-primary);color:var(--color-white);border-radius:var(--radius-full);text-decoration:none;font-weight:600;transition:all var(--transition-base)}.wp-block-button .wp-block-button__link:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.post-navigation{display:flex;justify-content:space-between;padding:var(--space-8) 0;border-top:1px solid var(--color-gray-200);margin-top:var(--space-8)}.nav-previous a,.nav-next a{display:flex;align-items:center;gap:var(--space-2);color:var(--color-primary-600);font-weight:600}.comments-area{margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid var(--color-gray-200)}.comment-list{list-style:none;padding:0}.comment{margin-bottom:var(--space-6);padding:var(--space-6);background:var(--color-gray-50);border-radius:var(--radius-lg)}.comment-author{font-weight:700}.comment-meta{font-size:var(--text-sm);color:var(--color-gray-500);margin-bottom:var(--space-3)}.pagination{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-12)}.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 var(--space-3);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);color:var(--color-gray-700);text-decoration:none;transition:all var(--transition-fast)}.page-numbers:hover,.page-numbers.current{background:var(--color-primary-600);border-color:var(--color-primary-600);color:var(--color-white)}.widget-area{padding:var(--space-8)}.widget{margin-bottom:var(--space-8)}.widget-title{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-primary-500)}.widget ul{list-style:none;padding:0}.widget li{padding:var(--space-2) 0;border-bottom:1px solid var(--color-gray-100)}.widget li:last-child{border-bottom:none}.search-form{display:flex;gap:var(--space-2)}.search-field{flex:1;padding:var(--space-3) var(--space-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);font-size:var(--text-base)}.search-submit{padding:var(--space-3) var(--space-5);background:var(--color-primary-600);color:var(--color-white);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.search-submit:hover{background:var(--color-primary-700)}.error-404{text-align:center;padding:var(--space-24) var(--space-6)}.error-404 h1{font-size:var(--text-6xl);color:var(--color-primary-400);margin-bottom:var(--space-4)}.page-hero{background:var(--gradient-hero);padding:10rem 0 5rem;margin-top:-100px;position:relative;overflow:hidden;text-align:center;color:var(--color-white)}.page-hero-background{position:absolute;inset:0;z-index:0}.page-hero .container{position:relative;z-index:1}.page-hero-content{max-width:800px;margin:0 auto}.page-hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:rgb(255 255 255 / .15);backdrop-filter:blur(10px);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);margin-bottom:var(--space-6)}.page-hero h1{font-size:var(--text-4xl);color:var(--color-white);margin-bottom:var(--space-6);line-height:1.2}.page-hero-summary{font-size:var(--text-lg);color:var(--color-primary-100);line-height:1.8;margin-bottom:var(--space-8)}.page-hero-cta{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6)}.feature-card{background:var(--color-white);padding:var(--space-8);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);text-align:center;transition:var(--transition-base)}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.feature-card .feature-icon{font-size:2.5rem;margin-bottom:var(--space-4)}.feature-card h3{font-size:var(--text-lg);margin-bottom:var(--space-3);color:var(--color-gray-900)}.feature-card p{color:var(--color-gray-600);font-size:var(--text-sm)}.events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--space-8)}.event-card{background:var(--color-white);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);transition:var(--transition-base)}.event-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.event-card-image{height:200px;overflow:hidden}.event-card-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition-base)}.event-card:hover .event-card-image img{transform:scale(1.05)}.event-card-content{padding:var(--space-6)}.event-card .event-icon{font-size:2rem;margin-bottom:var(--space-3)}.event-card h3{font-size:var(--text-xl);margin-bottom:var(--space-3)}.event-features{list-style:none;padding:0;margin-top:var(--space-4)}.event-features li{padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--color-gray-600)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6);align-items:start}.pricing-card{background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-md);position:relative}.pricing-card--featured{border:2px solid var(--color-primary-500);transform:scale(1.02)}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--color-primary-500);color:#fff;padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600}.pricing-header{text-align:center;margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-gray-200)}.pricing-header h3{font-size:var(--text-xl);margin-bottom:var(--space-4)}.pricing-price{display:flex;flex-direction:column;align-items:center}.price-amount{font-size:var(--text-2xl);font-weight:700;color:var(--color-primary-600)}.price-unit{font-size:var(--text-sm);color:var(--color-gray-500)}.pricing-features{list-style:none;padding:0;margin-bottom:var(--space-6)}.pricing-features li{padding:var(--space-3) 0;border-bottom:1px solid var(--color-gray-100);font-size:var(--text-sm)}.howto-steps{max-width:800px;margin:0 auto}.howto-step{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-6);align-items:start;padding:var(--space-8);background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-6);position:relative}.howto-step:not(:last-child)::after{content:'';position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);width:2px;height:24px;background:var(--color-primary-200)}.howto-step-number{width:50px;height:50px;background:var(--color-primary-500);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);font-weight:700}.howto-step-content h3{font-size:var(--text-xl);margin-bottom:var(--space-3)}.howto-step-content ul{margin:var(--space-4) 0;padding-left:var(--space-5)}.howto-step-icon{font-size:2.5rem}.timeline{max-width:700px;margin:0 auto}.timeline-item{display:flex;gap:var(--space-6);padding:var(--space-6) 0;border-bottom:1px solid var(--color-gray-200)}.timeline-item:last-child{border-bottom:none}.timeline-number{width:40px;height:40px;background:var(--color-primary-500);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.timeline-content h4{font-size:var(--text-lg);margin-bottom:var(--space-2)}.devis-layout{display:grid;grid-template-columns:1fr 350px;gap:var(--space-10);align-items:start}@media (max-width:1024px){.devis-layout{grid-template-columns:1fr}}.devis-form-block{background:var(--color-white);padding:var(--space-10);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.form-header{margin-bottom:var(--space-8)}.form-header h2{margin-bottom:var(--space-2)}.form-section{border:none;padding:0;margin:0 0 var(--space-8) 0}.form-section legend{font-size:var(--text-lg);font-weight:600;color:var(--color-gray-900);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-primary-500);width:100%}.form-checkboxes{display:flex;flex-direction:column;gap:var(--space-3)}.form-checkbox-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-gray-50);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base)}.form-checkbox-item:hover{background:var(--color-primary-50)}.form-checkbox-item input{width:18px;height:18px}.devis-sidebar{display:flex;flex-direction:column;gap:var(--space-6);position:sticky;top:120px}.sidebar-card{background:var(--color-white);padding:var(--space-6);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.sidebar-card h3{font-size:var(--text-lg);margin-bottom:var(--space-4)}.sidebar-card--highlight{background:var(--color-primary-50);border:1px solid var(--color-primary-200)}.check-list{list-style:none;padding:0}.check-list li{padding:var(--space-2) 0;padding-left:var(--space-6);position:relative;font-size:var(--text-sm)}.check-list li::before{content:'✓';position:absolute;left:0;color:var(--color-primary-500);font-weight:700}.contact-info-block{background:var(--color-white);padding:var(--space-8);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.contact-detail{display:flex;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-gray-100)}.contact-detail:last-child{border-bottom:none}.contact-detail-icon{font-size:1.5rem;flex-shrink:0}.contact-detail-content h4{font-size:var(--text-base);margin-bottom:var(--space-1)}.contact-form-block{background:var(--color-white);padding:var(--space-8);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.btn-xl{padding:var(--space-5) var(--space-10);font-size:var(--text-lg)}.btn-block{width:100%;text-align:center}.dept-card{transition:var(--transition-base)}.dept-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.info-box{transition:var(--transition-base)}.info-box:hover{transform:translateY(-3px)}.section--alt{background:var(--color-gray-50)}@media (max-width:768px){.page-hero{padding:8rem 0 3rem}.page-hero h1{font-size:var(--text-3xl)}.howto-step{grid-template-columns:1fr;text-align:center}.howto-step-number{margin:0 auto}.howto-step-icon{display:none}.events-grid{grid-template-columns:1fr}}.footer-grid{grid-template-columns:1.5fr repeat(4,1fr)}@media (max-width:1200px){.footer-grid{grid-template-columns:repeat(3,1fr)}.footer-brand{grid-column:span 3;margin-bottom:var(--space-8)}}@media (max-width:768px){.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:span 1}}.footer-maillage{list-style:none;padding:0;margin:0}.footer-maillage li{margin-bottom:var(--space-2)}.footer-maillage a{color:rgb(255 255 255 / .7);text-decoration:none;font-size:var(--text-sm);transition:color 0.2s ease}.footer-maillage a:hover{color:var(--color-white)}.footer-maillage a.current{color:var(--color-accent-gold);font-weight:500}