:root{--color-primary:#d4af37;--color-primary-dark:#b5952f;--color-accent:#b30000;--color-bg:#fff;--color-bg-light:#fdfdfd;--color-bg-alt:#f8f6f0;--color-text:#333;--color-text-light:#666;--color-leaf:#8fbc8f;--font-heading:"Playfair Display", serif;--font-body:"Inter", sans-serif;--transition:all .3s ease-in-out}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-text);font-weight:600}a{color:inherit;text-decoration:none}ul{list-style:none}.section-padding{padding:80px 5%}.bg-light{background-color:var(--color-bg-alt)}.section-header{text-align:center;margin-bottom:50px}.section-header h2{color:var(--color-primary);margin-bottom:15px;padding-bottom:8px;font-size:2.5rem;display:inline-block;position:relative}.section-header h2:after{content:"";background-color:var(--color-primary);width:0;height:2px;transition:width 1.2s cubic-bezier(.22,1,.36,1) .5s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.section-header h2.visible:after{width:60px}.section-header p{color:var(--color-text-light);font-size:1.1rem}.logo{align-items:center;min-width:250px;height:100%;display:flex;position:relative}.logo img{width:auto;height:180px;transition:var(--transition);z-index:10;position:absolute;top:62%;left:0;transform:translateY(-50%)}.navbar.scrolled .logo img{height:120px}.footer-logo{filter:brightness(1.1);width:auto;height:270px;margin-bottom:25px}.btn-primary{background-color:var(--color-primary);transition:var(--transition);cursor:pointer;border:none;border-radius:30px;padding:12px 24px;font-weight:500;display:inline-block;color:#fff!important}.btn-primary:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #d4af374d}.btn-outline{color:#fff;transition:var(--transition);background-color:#0000;border:2px solid #fff;border-radius:30px;padding:12px 24px;font-weight:500;display:inline-block}.btn-outline:hover{color:var(--color-text);background-color:#fff}.navbar{z-index:1000;width:100%;height:80px;transition:var(--transition);justify-content:space-between;align-items:center;padding:0 5%;display:flex;position:fixed;top:0;left:0}.navbar.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;padding:15px 5%;box-shadow:0 2px 10px #0000000d}.navbar.scrolled .nav-links a:not(.btn-primary){color:var(--color-text)}.navbar:not(.scrolled) .nav-links a:not(.btn-primary){color:#fff;text-shadow:0 1px 3px #00000080}.nav-links{align-items:center;gap:30px;display:flex}.nav-links a:not(.btn-primary){font-weight:500;position:relative}.nav-links a:not(.btn-primary):after{content:"";background-color:var(--color-primary);width:0%;height:2px;transition:var(--transition);position:absolute;bottom:-5px;left:0}.nav-links a:not(.btn-primary):hover:after{width:100%}.mobile-menu-btn{cursor:pointer;color:var(--color-primary);background:0 0;border:none;font-size:1.5rem;display:none}.hero{text-align:center;color:#fff;justify-content:center;align-items:center;height:100vh;padding:0 20px;display:flex;position:relative}.hero-bg{z-index:-2;filter:contrast(1.1)brightness(.85);background-position:50%;background-size:cover;width:100%;height:100%;position:absolute;top:0;left:0}.hero-overlay{z-index:-1;background:linear-gradient(#0000004d,#0009);width:100%;height:100%;position:absolute;top:0;left:0}.hero-content h1{color:#fff;text-shadow:0 2px 10px #0000004d;margin-bottom:20px;font-size:4rem}.hero-content p{margin-bottom:30px;font-size:1.2rem;font-weight:300}.btn-instagram-nav{transition:var(--transition);background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);border-radius:20px;padding:8px 16px;font-size:.9rem;font-weight:500;color:#fff!important;text-shadow:none!important}.btn-instagram-nav:hover{filter:brightness(1.1);transform:translateY(-2px)}.services-grid{flex-wrap:wrap;justify-content:center;gap:30px;max-width:1200px;margin:0 auto;display:flex}.service-card{width:calc(25% - 22.5px);min-width:280px;max-width:100%;transition:var(--transition);background:#fff;border:1px solid #d4af371a;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #0000000d}.service-card:hover{transform:translateY(-10px);box-shadow:0 15px 40px #d4af3726}.service-img{background-position:50%;background-size:cover;height:200px;transition:transform .5s}.service-card:hover .service-img{transform:scale(1.05)}.img-coming-soon{position:relative;overflow:hidden}.img-coming-soon:after{content:"Photo à venir";color:#fff;width:100%;height:100%;font-family:var(--font-heading);-webkit-backdrop-filter:blur(8px);z-index:2;transition:var(--transition);background:#0003;justify-content:center;align-items:center;font-size:1.2rem;font-weight:600;display:flex;position:absolute;top:0;left:0}.service-card:hover .img-coming-soon:after{-webkit-backdrop-filter:blur(4px);background:#0000001a}.service-info{text-align:center;padding:25px}.service-info h3{color:var(--color-text);margin-bottom:10px;font-size:1.3rem}.service-info p{color:var(--color-text-light);font-size:.95rem}.gallery-grid{flex-wrap:wrap;justify-content:center;gap:20px;max-width:1200px;margin:0 auto;display:flex}.gallery-item{aspect-ratio:1;cursor:pointer;border-radius:12px;width:calc(33.333% - 14px);min-width:280px;max-width:100%;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:var(--transition)}.gallery-item:hover img{transform:scale(1.1)}.contact-header-content{text-align:center;max-width:800px;margin:0 auto 40px}.contact-quick-links{flex-wrap:wrap;justify-content:center;gap:25px;margin-top:25px;padding:0;list-style:none;display:flex}.contact-quick-links li{align-items:center;font-size:1.05rem;display:flex}.contact-quick-links a{color:var(--color-primary);transition:var(--transition);border-bottom:1px solid #0000;margin-left:5px;font-weight:500}.contact-quick-links a:hover{border-bottom:1px solid var(--color-primary);opacity:.9}.contact-container{background:#fff;border:1px solid #d4af3726;border-radius:20px;max-width:900px;margin:0 auto;padding:50px 40px;box-shadow:0 15px 50px #0000000d}.project-form{flex-direction:column;gap:35px;display:flex}.form-section{flex-direction:column;gap:20px;display:flex}.form-section h3{font-family:var(--font-heading);color:var(--color-primary-dark);border-bottom:1px solid #d4af3740;margin-bottom:5px;padding-bottom:8px;font-size:1.5rem}.section-desc{color:var(--color-text-light);margin-bottom:5px;font-size:.95rem;font-style:italic;line-height:1.4}.form-grid{grid-template-columns:repeat(2,1fr);gap:25px 20px;display:grid}@media (width<=768px){.form-grid{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:8px;display:flex}.form-group.col-full{grid-column:1/-1}.form-group label{color:var(--color-text-light);font-size:.95rem;font-weight:500}.project-form input[type=text],.project-form input[type=email],.project-form input[type=tel],.project-form input[type=number],.project-form input[type=date],.project-form select,.project-form textarea{width:100%;font-family:var(--font-body);color:var(--color-text);transition:var(--transition);background-color:#0000;border:none;border-bottom:1px solid #ccc;border-radius:0;padding:10px 5px 8px;font-size:1rem}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-bottom-color:var(--color-primary);background-color:#d4af3705;outline:none}.project-form textarea{resize:vertical;line-height:1.5}.budget-options{grid-template-columns:repeat(2,1fr);gap:20px 15px;display:grid}@media (width<=576px){.budget-options{grid-template-columns:1fr}}.budget-card,.checkbox-container{cursor:pointer;color:var(--color-text);-webkit-user-select:none;user-select:none;align-items:center;gap:12px;font-size:1rem;font-weight:400;display:flex}.budget-card input,.checkbox-container input{display:none}.custom-radio,.custom-checkbox{width:18px;height:18px;transition:var(--transition);background-color:#fff;border:1px solid #777;border-radius:2px;flex-shrink:0;display:inline-block;position:relative}.budget-card input:checked+.custom-radio,.checkbox-container input:checked+.custom-checkbox{background-color:var(--color-primary);border-color:var(--color-primary)}.budget-card input:checked+.custom-radio:after,.checkbox-container input:checked+.custom-checkbox:after{content:"✓";color:#fff;font-size:13px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)}.validation-section{background-color:var(--color-bg-alt);border:1px dashed #d4af3766;border-radius:10px;padding:25px}.signature-grid{grid-template-columns:2fr 1fr;gap:20px;margin-top:15px;display:grid}@media (width<=576px){.signature-grid{grid-template-columns:1fr}}.form-footer-divider{border-top:1px solid #0000001a;margin:15px 0 5px}.form-igevents-footer{text-align:center;margin-bottom:10px}.form-igevents-footer h4{font-family:var(--font-heading);color:var(--color-primary-dark);letter-spacing:1px;margin-bottom:5px;font-size:1.3rem}.form-igevents-footer p{color:var(--color-text-light);margin-bottom:12px;font-size:.85rem}.igevents-footer-details{flex-wrap:wrap;justify-content:center;gap:15px 25px;font-size:.9rem;display:flex}.form-submit-container{justify-content:center;margin-top:10px;display:flex}.btn-submit-project{padding:15px 35px;font-size:1.1rem}.footer{color:#fff;background-color:#222;padding:50px 5% 20px}.footer-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto 40px;display:flex}.footer-brand{flex-direction:column;align-items:flex-start;display:flex}.footer-links a{color:#ccc;transition:var(--transition);margin-left:20px}.footer-links a:hover{color:var(--color-primary)}.footer-bottom{text-align:center;color:#888;border-top:1px solid #ffffff1a;padding-top:20px;font-size:.9rem}.fade-in{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(20px)}.fade-in.visible{opacity:1;transform:translateY(0)}.slide-up{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(40px)}.slide-up.visible{opacity:1;transform:translateY(0)}.reveal-title{opacity:0;filter:blur(8px);transition:opacity 1.2s cubic-bezier(.22,1,.36,1),transform 1.2s cubic-bezier(.22,1,.36,1),filter 1.2s cubic-bezier(.22,1,.36,1);transform:translateY(30px)scale(.98)}.reveal-title.visible{opacity:1;filter:blur();transform:translateY(0)scale(1)}.reveal-subtitle{opacity:0;filter:blur(4px);transition:opacity 1.2s cubic-bezier(.22,1,.36,1),transform 1.2s cubic-bezier(.22,1,.36,1),filter 1.2s cubic-bezier(.22,1,.36,1);transform:translateY(20px)}.reveal-subtitle.visible{opacity:1;filter:blur();transform:translateY(0)}.reveal-btn{opacity:0;transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1);transform:translateY(15px)}.reveal-btn.visible{opacity:1;transform:translateY(0)}@media (width<=768px){.hero-content h1{font-size:2.5rem}.contact-container{grid-template-columns:1fr}.nav-links{background:#fff;flex-direction:column;width:100%;padding:20px 0;display:none;position:absolute;top:100%;left:0;box-shadow:0 10px 20px #0000001a}.nav-links.active{display:flex}.nav-links a:not(.btn-primary){color:var(--color-text)}.mobile-menu-btn{display:block}.footer-content{text-align:center;flex-direction:column;gap:20px}.footer-links a{margin:0 10px}}.lightbox{z-index:2000;-webkit-backdrop-filter:blur(8px);opacity:0;background-color:#0009;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:none;position:fixed;top:0;left:0}.lightbox.show{opacity:1;display:flex}.lightbox-content{border-radius:8px;max-width:90%;max-height:90vh;transition:transform .3s;transform:scale(.9);box-shadow:0 15px 50px #0000004d}.lightbox.show .lightbox-content{transform:scale(1)}.lightbox-close{color:#fff;cursor:pointer;font-size:40px;font-weight:700;transition:color .3s;position:absolute;top:20px;right:35px}.lightbox-close:hover{color:var(--color-primary)}.lightbox-prev,.lightbox-next{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(5px);z-index:2010;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:2rem;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev:hover,.lightbox-next:hover{background:var(--color-primary);transform:translateY(-50%)scale(1.1)}.lightbox-prev{left:30px}.lightbox-next{right:30px}@media (width<=768px){.lightbox-prev{width:45px;height:45px;font-size:1.5rem;left:10px}.lightbox-next{width:45px;height:45px;font-size:1.5rem;right:10px}}
