:root{--primary-color:#0f172a;--primary-light:#1e293b;--accent-color:#38bdf8;--accent-hover:#0ea5e9;--text-main:#334155;--text-light:#64748b;--white:#fff;--transition-speed:.3s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden}body{background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--primary-color);font-family:Playfair Display,serif;font-weight:700;line-height:1.2}a{color:inherit;text-decoration:none}ul{list-style:none}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section{padding:5rem 0}.btn{text-align:center;transition:all var(--transition-speed) ease;cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:Inter,sans-serif;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--accent-color);color:var(--white)}.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #d4af374d}.btn-outline{color:var(--white);border:2px solid var(--white);background-color:#0000}.btn-outline:hover{background-color:var(--white);color:var(--primary-color);transform:translateY(-2px)}.section-title{text-align:center;margin-bottom:3rem}.section-title h2{margin-bottom:1rem;font-size:2.5rem}.section-title p{color:var(--text-light);max-width:600px;margin:0 auto;font-size:1.1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.8s ease-out forwards fadeIn}@media (width<=768px){.section{padding:3rem 0}.section-title h2{font-size:2rem}}.navbar{z-index:1000;width:100%;transition:all var(--transition-speed) ease;background-color:#0000;padding:1.5rem 0;position:fixed;top:0;left:0}.navbar.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffff2;padding:1rem 0;box-shadow:0 4px 20px #0000000d}.navbar-container{justify-content:space-between;align-items:center;display:flex}.navbar-logo{color:var(--primary-color);letter-spacing:-.5px;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700}.navbar-logo span{color:var(--accent-color);font-style:italic;font-weight:400}.navbar-logo-img{object-fit:contain;width:36px;height:36px;margin-right:.5rem;transition:filter .3s}.navbar:not(.scrolled) .navbar-logo-img{filter:brightness(0)invert()}.navbar.scrolled .navbar-logo{color:var(--primary-color)}.navbar:not(.scrolled) .navbar-logo,.navbar:not(.scrolled) .navbar-links a,.navbar:not(.scrolled) .nav-phone,.navbar:not(.scrolled) .mobile-menu-btn{color:var(--white)}.navbar-links{gap:2.5rem;display:flex}.navbar-links a{color:var(--text-main);transition:color var(--transition-speed) ease;font-weight:500;position:relative}.navbar-links a:after{content:"";background-color:var(--accent-color);width:0;height:2px;transition:width var(--transition-speed) ease;position:absolute;bottom:-5px;left:0}.navbar-links a:hover:after{width:100%}.navbar-actions{align-items:center;gap:1.5rem;display:flex}.nav-phone{color:var(--primary-color);transition:color var(--transition-speed) ease;align-items:center;gap:.5rem;font-weight:600;display:flex}.nav-phone:hover{color:var(--accent-color)}.mobile-menu-btn{cursor:pointer;color:var(--primary-color);background:0 0;border:none;display:none}.mobile-menu{background-color:var(--white);text-align:center;flex-direction:column;gap:1.5rem;width:100%;padding:1.5rem;display:flex;position:absolute;top:100%;left:0;box-shadow:0 10px 20px #0000001a}.mobile-menu a{color:var(--primary-color);font-size:1.1rem;font-weight:500}.mobile-phone{font-weight:700;color:var(--accent-color)!important}@media (width<=992px){.navbar-links,.navbar-actions{display:none}.mobile-menu-btn{display:block}}.footer{background-color:var(--primary-color);color:var(--white);padding:4rem 0 0}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:3rem;display:grid}.footer-logo{color:var(--white);margin-bottom:1.5rem;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700}.footer-logo span{color:var(--accent-color);font-style:italic;font-weight:400}.footer-brand p{color:#ffffffb3;max-width:400px;font-size:.95rem}.footer h4{color:var(--white);margin-bottom:1.5rem;font-family:Playfair Display,serif;font-size:1.2rem}.footer-links ul,.footer-services ul{flex-direction:column;gap:.75rem;display:flex}.footer-links a,.footer-services li{color:#ffffffb3;transition:color var(--transition-speed) ease;font-size:.95rem}.footer-links a:hover{color:var(--accent-color)}.footer-bottom{color:#ffffff80;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:2rem 0;font-size:.9rem;display:flex}.legal-links{gap:1.5rem;display:flex}.legal-links a{color:#ffffff80;transition:color var(--transition-speed) ease}.legal-links a:hover{color:var(--white)}@media (width<=768px){.footer-grid{grid-template-columns:1fr;gap:2rem}.footer-bottom{text-align:center;flex-direction:column;gap:1rem}}.hero{height:100vh;min-height:600px;color:var(--white);text-align:center;background-image:url(/hero-bg.jpg);background-position:50% 40%;background-size:cover;background-attachment:scroll;justify-content:center;align-items:center;display:flex;position:relative}.hero-overlay{z-index:1;background:linear-gradient(#0f172ab3,#0f172a66);width:100%;height:100%;position:absolute;top:0;left:0}.hero-container{z-index:2;max-width:800px;position:relative}.hero h1{color:var(--white);text-shadow:0 4px 12px #0000004d;margin-bottom:1.5rem;font-size:4rem}.hero p{opacity:.9;text-shadow:0 2px 4px #0000004d;margin-bottom:2.5rem;font-size:1.25rem}.hero-buttons{justify-content:center;gap:1.5rem;display:flex}@media (width<=768px){.hero h1{font-size:2.5rem}.hero p{font-size:1.1rem}.hero-buttons{flex-direction:column}}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.about-content{padding-right:2rem}.about-text{color:var(--text-main);margin-bottom:1.5rem;font-size:1.1rem}.about-list{flex-direction:column;gap:1rem;margin-top:2rem;display:flex}.about-list li{color:var(--primary-color);align-items:center;gap:.75rem;font-size:1.1rem;font-weight:500;display:flex}.check-icon{color:var(--accent-color)}.about-image-wrapper{position:relative}.about-image-container{border-radius:8px;position:relative;overflow:visible;box-shadow:0 20px 40px #0000001a}.about-image{aspect-ratio:4/5;object-fit:cover;border-radius:8px;width:100%;display:block}.experience-badge{background-color:var(--accent-color);color:var(--white);z-index:10;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:150px;height:150px;padding:2rem;display:flex;position:absolute;bottom:-2rem;left:-2rem;box-shadow:0 10px 20px #d4af374d}.experience-badge .years{font-size:3rem;font-weight:700;line-height:1}.experience-badge .text{text-align:center;text-transform:uppercase;letter-spacing:1px;font-size:.9rem;font-weight:600}.about-process{border-top:1px solid #0000001a;margin-top:3rem;padding-top:2rem}.process-title{color:var(--primary-color);margin-bottom:.5rem;font-size:1.5rem}.process-steps{flex-direction:column;gap:1.5rem;margin-top:1.5rem;display:flex}.process-step{flex-direction:column;padding-left:3rem;display:flex;position:relative}.step-number{background-color:var(--accent-color);width:2rem;height:2rem;color:var(--white);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex;position:absolute;top:0;left:0}.process-step h4{color:var(--primary-color);margin-bottom:.25rem;font-family:Inter,sans-serif;font-size:1.1rem}.process-step p{color:var(--text-light);font-size:.95rem}@media (width<=992px){.about-grid{grid-template-columns:1fr;gap:3rem}.about-content{padding-right:0}.experience-badge{bottom:-1rem;left:1rem}}.services{background-color:var(--white)}.services-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem;display:grid}.service-card{background-color:var(--bg-color);text-align:center;transition:all var(--transition-speed) ease;border:1px solid #0000000d;border-radius:8px;padding:3rem 2rem}.service-card:hover{background-color:var(--white);transform:translateY(-10px);box-shadow:0 20px 40px #00000014}.service-icon{color:var(--accent-color);transition:all var(--transition-speed) ease;background-color:#d4af371a;border-radius:50%;margin-bottom:1.5rem;padding:1.5rem;display:inline-block}.service-card:hover .service-icon{background-color:var(--accent-color);color:var(--white)}.service-card h3{margin-bottom:1rem;font-size:1.25rem}.service-card p{color:var(--text-light);font-size:1rem}.realisations{background-color:var(--bg-color)}.bento-grid{box-sizing:border-box;grid-template-columns:repeat(12,1fr);grid-auto-rows:130px;gap:.75rem;max-width:1400px;margin:3rem auto 0;padding:0 1.5rem;display:grid}.bento-item.b-a{grid-area:1/1/span 3/span 4}.bento-item.b-b{grid-area:1/5/span 3/span 2}.bento-item.b-c{grid-area:1/7/span 2/span 6}.bento-item.b-d{grid-area:3/7/span 2/span 6}.bento-item.b-e{grid-area:4/1/span 3/span 3}.bento-item.b-f{grid-area:4/4/span 3/span 3}.bento-item{cursor:pointer;border-radius:10px;transition:transform .4s,box-shadow .4s;position:relative;overflow:hidden;box-shadow:0 4px 16px #00000014}.bento-item:hover{z-index:3;transform:scale(1.02);box-shadow:0 12px 36px #00000029}.bento-item img{object-fit:cover;object-position:center center;width:100%;height:100%;transition:transform .55s;display:block}.bento-item:hover img{transform:scale(1.05)}.bento-overlay{opacity:0;background:linear-gradient(#0000 0%,#0a14461a 50%,#0a1446e6 100%);flex-direction:column;justify-content:flex-end;padding:1.25rem;transition:opacity .3s;display:flex;position:absolute;inset:0}.bento-item:hover .bento-overlay{opacity:1}.bento-overlay h3{color:var(--accent-color,#38bdf8);margin-bottom:.25rem;font-size:1rem;font-weight:700;transition:transform .3s;transform:translateY(10px)}.bento-overlay p{color:#fff;font-size:.82rem;transition:transform .3s 50ms;transform:translateY(10px)}.bento-item:hover .bento-overlay h3,.bento-item:hover .bento-overlay p{transform:translateY(0)}.view-more-container{text-align:center;margin-top:2.5rem}.btn-voir-plus{color:var(--primary-color);border:2px solid var(--accent-color);background-color:#0000;border-radius:50px;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-voir-plus:hover{background-color:var(--accent-color);color:#fff;transform:translate(4px)}.realisations-cta{text-align:center;background-color:var(--white);border-radius:16px;margin-top:3.5rem;padding:2.5rem;box-shadow:0 8px 24px #0000000d}.realisations-cta p{color:var(--text-main);margin-bottom:1.5rem;font-size:1.15rem}@media (width<=1000px){.bento-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:160px;gap:.6rem}.bento-item.b-a,.bento-item.b-b,.bento-item.b-c,.bento-item.b-d,.bento-item.b-e,.bento-item.b-f{grid-column:unset;grid-row:unset}.bento-item.b-a,.bento-item.b-b{grid-area:span 3/span 3}.bento-item.b-c,.bento-item.b-d{grid-area:span 2/span 6}.bento-item.b-e,.bento-item.b-f{grid-area:span 3/span 3}}@media (width<=640px){.bento-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px;gap:.5rem;padding:0 1rem}.bento-item.b-a,.bento-item.b-b,.bento-item.b-c,.bento-item.b-d,.bento-item.b-e,.bento-item.b-f{grid-area:span 1/span 1}.bento-item.b-a,.bento-item.b-b,.bento-item.b-e,.bento-item.b-f{grid-row:span 2}.bento-item.b-c,.bento-item.b-d{grid-area:span 1/span 2}.bento-overlay{opacity:1;background:linear-gradient(#0000 0%,#0a14460d 45%,#0a1446d9 100%)}.bento-overlay h3,.bento-overlay p{transform:translateY(0)}}.clients{background-color:var(--white);border-top:1px solid #0000000d;padding:4rem 0}.clients-header{text-align:center;margin-bottom:3rem}.clients-header h2{color:var(--primary-color);margin-bottom:.5rem;font-size:2rem}.clients-header p{color:var(--text-light)}.clients-logo-track{width:100%;padding:1rem 0;position:relative;overflow:hidden}.clients-logo-track:before,.clients-logo-track:after{content:"";z-index:2;width:100px;height:100%;position:absolute;top:0}.clients-logo-track:before{background:linear-gradient(to right, var(--white), transparent);left:0}.clients-logo-track:after{background:linear-gradient(to left, var(--white), transparent);right:0}.clients-logos{align-items:center;gap:4rem;width:max-content;animation:30s linear infinite scroll;display:flex}.client-logo-wrapper{justify-content:center;align-items:center;width:200px;height:80px;padding:0 1rem;display:flex}.client-logo-image{object-fit:contain;filter:grayscale()opacity(.7);max-width:100%;max-height:100%;transition:filter var(--transition-speed) ease, transform var(--transition-speed) ease}.client-logo-wrapper:hover .client-logo-image{filter:grayscale(0%)opacity();transform:scale(1.05)}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(calc(-50% - 2rem))}}@media (width<=768px){.clients-logos{gap:2rem}.client-logo-wrapper{width:150px;height:60px}}.features{background-color:var(--primary-color);color:var(--white)}.features .section-title h2{color:var(--white)}.features .section-title p{color:#ffffffb3}.features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;margin-top:4rem;display:grid}.feature-item{align-items:flex-start;gap:1.5rem;display:flex}.feature-icon{color:var(--accent-color);transition:all var(--transition-speed) ease;background-color:#ffffff0d;border-radius:8px;flex-shrink:0;padding:1rem}.feature-item:hover .feature-icon{background-color:var(--accent-color);color:var(--white);transform:scale(1.05)}.feature-text h3{color:var(--white);margin-bottom:.5rem;font-family:Inter,sans-serif;font-size:1.25rem}.feature-text p{color:#ffffffb3;font-size:.95rem;line-height:1.5}.contact-grid{grid-template-columns:1fr 1fr;gap:4rem;display:grid}.contact-info h2{margin-bottom:1rem;font-size:2.5rem}.contact-info>p{color:var(--text-light);margin-bottom:2.5rem;font-size:1.1rem}.info-items{flex-direction:column;gap:2rem;display:flex}.info-item{align-items:flex-start;gap:1.5rem;display:flex}.info-icon{color:var(--accent-color);background-color:#d4af371a;border-radius:50%;justify-content:center;align-items:center;padding:1rem;display:flex}.info-item h4{color:var(--primary-color);margin-bottom:.25rem;font-family:Inter,sans-serif;font-size:1.1rem}.info-item p,.info-item a{color:var(--text-light);transition:color var(--transition-speed) ease}.info-item a:hover{color:var(--accent-color)}.contact-form-wrapper{background-color:var(--white);border-radius:12px;padding:3rem;box-shadow:0 10px 40px #00000014}.contact-form{flex-direction:column;gap:1.5rem;display:flex}.form-row{gap:1.5rem;display:flex}.form-row .form-group{flex:1}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-color);font-size:.95rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{transition:border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;color:var(--text-color);background-color:#f8f6f3;border:1px solid #e8e3dc;border-radius:8px;padding:1rem;font-family:inherit;font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-color);background-color:var(--white);outline:none;box-shadow:0 0 0 3px #d4af371a}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.submit-btn{color:#fff;cursor:pointer;transition:background-color var(--transition-speed) ease;background-color:#1a1a1a;border:none;border-radius:8px;margin-top:1rem;padding:1.25rem;font-size:1rem;font-weight:600}.submit-btn:hover{background-color:#000;transform:translateY(-2px)}.btn-full{width:100%}@media (width<=992px){.contact-grid{grid-template-columns:1fr;gap:3rem}.contact-form-wrapper{padding:2rem}}@media (width<=768px){.form-row{flex-direction:column;gap:1.5rem}}.page-realisations-container{background-color:var(--white);min-height:100vh;padding-top:80px}.instagram-section{background:linear-gradient(135deg,#833ab4 0%,#fd1d1d 45%,#fcb045 100%);padding:2.5rem 2rem}.instagram-inner{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem;max-width:960px;margin:0 auto;display:flex}.instagram-icon{color:#fff;opacity:.9;flex-shrink:0}.instagram-text h3{color:#fff;margin-bottom:.4rem;font-size:1.5rem}.instagram-text p{color:#ffffffd9;max-width:380px;font-size:.95rem}.instagram-btn{color:#833ab4;background-color:#fff;border-radius:50px;flex-shrink:0;align-items:center;gap:.5rem;padding:.8rem 1.8rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:0 4px 16px #00000026}.instagram-btn:hover{background-color:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.realisations-header{text-align:center;padding:4rem 2rem 2.5rem}.realisations-header h1{color:var(--primary-color);margin-bottom:.75rem;font-size:2.6rem}.realisations-header p{color:var(--text-light);max-width:580px;margin:0 auto;font-size:1.05rem}.realisations-gallery{columns:3;box-sizing:border-box;column-gap:1rem;max-width:1500px;margin:0 auto;padding:0 2rem}.gallery-item{break-inside:avoid;cursor:pointer;border-radius:10px;margin-bottom:1rem;transition:transform .4s,box-shadow .4s;position:relative;overflow:hidden;box-shadow:0 4px 16px #00000014}.gallery-item:hover{z-index:2;position:relative;transform:scale(1.015);box-shadow:0 12px 40px #00000029}.gallery-item img{width:100%;height:auto;transition:transform .5s;display:block}.gallery-item:hover img{transform:scale(1.04)}.gallery-overlay{opacity:0;background:linear-gradient(#0000 0%,#0a144614 45%,#0a1446e6 100%);flex-direction:column;justify-content:flex-end;padding:1.5rem;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery-overlay h3{color:var(--accent-color,#38bdf8);margin-bottom:.3rem;font-size:1.05rem;font-weight:700;transition:transform .3s;transform:translateY(12px)}.gallery-overlay p{color:#fff;font-size:.85rem;transition:transform .3s 50ms;transform:translateY(12px)}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-item:hover .gallery-overlay h3,.gallery-item:hover .gallery-overlay p{transform:translateY(0)}.gallery-cta{text-align:center;background:linear-gradient(135deg, var(--primary-color) 0%, #1a3a8f 100%);color:#fff;margin-top:3rem;padding:4rem 2rem}.gallery-cta h2{color:var(--accent-color,#38bdf8);margin-bottom:1.5rem;font-size:2rem}.gallery-cta .btn{background-color:var(--accent-color,#38bdf8);color:var(--primary-color);border-radius:50px;padding:.9rem 2.5rem;font-size:1rem;font-weight:700;transition:all .3s}.gallery-cta .btn:hover{background-color:#fff;transform:translateY(-3px);box-shadow:0 8px 24px #0003}@media (width<=1100px){.realisations-gallery{columns:2}}@media (width<=640px){.realisations-gallery{columns:1;padding:0 1rem}.realisations-header h1{font-size:2rem}.instagram-inner{flex-direction:column;gap:1.2rem}}.legal-page{background-color:#f8fafc;min-height:100vh;padding-top:100px;padding-bottom:5rem}.legal-page .container{max-width:860px}.legal-hero{background:linear-gradient(135deg, var(--primary-color) 0%, #1a3a8f 100%);text-align:center;margin-bottom:3rem;padding:4rem 0 3rem}.legal-hero h1{color:var(--accent-color);margin-bottom:.75rem;font-size:2.4rem}.legal-hero p{color:#ffffffbf;font-size:.95rem}.legal-body{background:#fff;border-radius:16px;padding:3rem;box-shadow:0 4px 24px #0000000f}.legal-section{border-bottom:1px solid #e2e8f0;margin-bottom:2.5rem;padding-bottom:2.5rem}.legal-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.legal-section h2{color:var(--primary-color);align-items:center;gap:.6rem;margin-bottom:1rem;font-size:1.25rem;display:flex}.legal-section h2:before{content:"";background-color:var(--accent-color);border-radius:2px;flex-shrink:0;width:4px;height:1.25rem;display:inline-block}.legal-section p{color:var(--text-main);margin-bottom:.75rem;font-size:.95rem;line-height:1.8}.legal-section p:last-child{margin-bottom:0}.legal-section ul{color:var(--text-main);padding-left:1.5rem;font-size:.95rem;line-height:1.8;list-style:outside}.legal-section ul li{margin-bottom:.4rem}.legal-section a{color:var(--accent-color);text-decoration:underline}.legal-back{text-align:center;margin-top:2.5rem}.legal-back a{color:var(--primary-color);align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;transition:color .3s;display:inline-flex}.legal-back a:hover{color:var(--accent-color)}@media (width<=640px){.legal-body{padding:1.5rem}.legal-hero h1{font-size:1.8rem}}
