:root{--noir: #1a1a1a;--blanc: #ffffff;--gris-fonce: #2d2d2d;--gris-clair: #f5f5f5;--texte: #333333;--accent: #8b7355}*{margin:0;padding:0;box-sizing:border-box;font-family:Helvetica Neue,Arial,sans-serif}body{background-color:var(--blanc);color:var(--texte);line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 20px}header{background-color:var(--blanc);position:fixed;width:100%;top:0;z-index:1000;box-shadow:0 2px 10px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.logo{font-size:24px;font-weight:700;color:var(--noir);text-decoration:none}nav ul{display:flex;list-style:none}nav li{margin-left:30px}nav a{text-decoration:none;color:var(--texte);font-weight:500;transition:color .3s}nav a:hover{color:var(--accent)}.gallery-code-nav-item{position:relative}.gallery-code-toggle{background:none;border:1px solid var(--accent);border-radius:20px;padding:8px 18px;color:var(--accent);font-weight:500;font-size:.95rem;cursor:pointer;transition:background-color .3s,color .3s}.gallery-code-toggle:hover{background-color:var(--accent);color:var(--blanc)}.gallery-code-form{position:absolute;top:calc(100% + 12px);right:0;background-color:var(--blanc);box-shadow:0 5px 20px #00000026;border-radius:5px;padding:20px;width:260px;display:flex;flex-direction:column;gap:12px;z-index:1001}.gallery-code-form label{font-size:.85rem;color:var(--texte)}.gallery-code-form input{padding:10px;border:1px solid #ddd;border-radius:2px;font-size:1rem;text-transform:uppercase}.gallery-code-form .btn{text-align:center}.hero{height:100vh;background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),url(https://images.unsplash.com/photo-1554048612-b6a482bc67e5?ixlib=rb-4.0.3) center/cover;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--blanc);margin-top:70px}.hero-content h1{font-size:3.5rem;margin-bottom:20px;font-weight:300}.hero-content p{font-size:1.2rem;margin-bottom:30px;max-width:600px}.btn{display:inline-block;padding:12px 30px;background-color:var(--accent);color:var(--blanc);text-decoration:none;border-radius:2px;transition:background-color .3s;border:none;cursor:pointer;font-size:1rem}.btn:hover{background-color:#7a6348}.about{padding:100px 0;background-color:var(--gris-clair)}.about-content{display:flex;align-items:center;gap:50px}.about-text{flex:1}.about-text h2{font-size:2.5rem;margin-bottom:20px;color:var(--noir)}.about-image{flex:1;height:500px;background-color:#ddd;border-radius:5px;overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover;display:block}.specialties{padding:100px 0;text-align:center}.section-title{font-size:2.5rem;margin-bottom:50px;color:var(--noir)}.specialties-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.specialty-card{background-color:var(--blanc);border-radius:5px;overflow:hidden;box-shadow:0 5px 15px #0000001a;transition:transform .3s}.specialty-card:hover{transform:translateY(-10px)}.specialty-image{height:250px;background-color:#eee}.specialty-image img{width:100%;height:100%;object-fit:cover;display:block}.specialty-content{padding:20px}.specialty-content h3{margin-bottom:10px;color:var(--noir)}.specialty-card-clickable{cursor:pointer}.specialty-card-clickable:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.specialty-image{position:relative}.specialty-catalog-badge{position:absolute;bottom:12px;right:12px;padding:6px 14px;border-radius:20px;background-color:#1a1a1abf;color:var(--blanc);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}.specialty-card-clickable:hover .specialty-catalog-badge,.specialty-card-clickable:focus-visible .specialty-catalog-badge{opacity:1;transform:translateY(0)}.specialty-detail{min-height:100vh;background-color:var(--gris-clair)}.specialty-detail-intro{text-align:center;margin-bottom:50px}.specialty-detail-intro h1{color:var(--noir);font-size:2.2rem;margin-bottom:10px}.specialty-detail-intro p{max-width:640px;margin:0 auto;color:var(--texte)}.specialty-tariffs{margin-bottom:60px}.specialty-tariffs h2,.specialty-masonry-title{text-align:center;color:var(--noir);font-size:1.6rem;margin-bottom:25px}.specialty-tariffs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.tariff-card{background-color:var(--blanc);border-radius:5px;padding:25px 20px;text-align:center;box-shadow:0 5px 15px #00000014}.tariff-card h3{color:var(--noir);margin-bottom:10px;font-size:1.1rem}.tariff-price{color:var(--accent);font-weight:700;font-size:1.3rem;margin-bottom:6px}.tariff-detail{color:#777;font-size:.9rem}.specialty-masonry{column-count:2;column-gap:16px}.specialty-masonry-item{display:block;width:100%;break-inside:avoid;margin-bottom:16px;padding:0;border:none;border-radius:5px;overflow:hidden;background:none;cursor:pointer;box-shadow:0 5px 15px #00000014}.specialty-masonry-item img{display:block;width:100%;height:auto;transition:transform .3s}.specialty-masonry-item:hover img,.specialty-masonry-item:focus-visible img{transform:scale(1.03)}@media (min-width: 640px){.specialty-masonry{column-count:3}}@media (min-width: 1000px){.specialty-masonry{column-count:4}}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background-color:#000000e6;padding:40px 20px}.lightbox-close{position:absolute;top:20px;right:30px;background:none;border:none;color:var(--blanc);font-size:2.5rem;line-height:1;cursor:pointer;z-index:1001}.lightbox-content{display:flex;align-items:center;justify-content:center;gap:20px;max-width:100%;max-height:100%}.lightbox-nav{background:none;border:none;color:var(--blanc);font-size:3rem;line-height:1;cursor:pointer;padding:10px;flex-shrink:0}.lightbox-nav:hover{color:var(--accent)}.lightbox-figure{display:flex;flex-direction:column;align-items:center;max-width:80vw;max-height:85vh;margin:0}.lightbox-figure img{max-width:100%;max-height:75vh;object-fit:contain;border-radius:4px}.lightbox-figure figcaption{margin-top:12px;color:var(--blanc);font-size:.9rem;text-align:center}@media (max-width: 768px){.lightbox-nav{font-size:2rem;padding:4px}.lightbox-figure{max-width:90vw}}.portfolio{padding:100px 0;background-color:var(--gris-clair)}.portfolio-filters{display:flex;justify-content:center;margin-bottom:40px}.filter-btn{background:none;border:none;padding:10px 20px;margin:0 10px;cursor:pointer;font-size:1rem;color:var(--texte);transition:color .3s}.filter-btn.active{color:var(--accent);font-weight:700}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.portfolio-item{height:300px;background-color:#ddd;border-radius:5px;overflow:hidden;position:relative}.portfolio-item img{width:100%;height:100%;object-fit:cover;display:block}.testimonials{padding:100px 0;text-align:center}.testimonials-slider{max-width:800px;margin:0 auto}.testimonial{background-color:var(--blanc);padding:40px;border-radius:5px;box-shadow:0 5px 15px #0000000d;margin:0 20px}.testimonial+.testimonial{margin-top:30px}.testimonial-text{font-style:italic;margin-bottom:20px}.client-name{font-weight:700;color:var(--noir)}.contact{padding:100px 0;background-color:var(--gris-clair)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact-info h3{margin-bottom:20px;color:var(--noir)}.contact-details{margin-bottom:30px}.contact-details p{margin-bottom:10px}.contact-details a{color:inherit;text-decoration:underline;text-decoration-color:var(--accent)}.social-links a{display:inline-block;margin-right:15px;color:var(--noir);font-size:1.2rem;text-decoration:none}.contact-form input,.contact-form textarea{width:100%;padding:12px;margin-bottom:20px;border:1px solid #ddd;border-radius:2px}.contact-form textarea{height:150px;resize:vertical}.contact-form .btn:disabled{opacity:.7;cursor:not-allowed}.form-status{margin-top:15px;font-size:.95rem}.form-status-success{color:#2e7d4f}.form-status-error{color:#b3261e}.honeypot-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}footer{background-color:var(--noir);color:var(--blanc);padding:50px 0 20px}.footer-content{display:flex;justify-content:space-between;margin-bottom:40px}.footer-logo{font-size:1.5rem;font-weight:700;margin-bottom:20px}.footer-logo-image{height:40px;width:auto;margin-bottom:20px;object-fit:contain}.footer-links h4{margin-bottom:20px}.footer-links ul{list-style:none}.footer-links li{margin-bottom:10px}.footer-links a{color:#ccc;text-decoration:none;transition:color .3s}.footer-links a:hover{color:var(--blanc)}.copyright{text-align:center;padding-top:20px;border-top:1px solid #444;color:#999}.gallery-view{min-height:100vh;background-color:var(--gris-clair)}.gallery-main{margin-top:70px;padding:60px 20px 100px}.gallery-status{text-align:center;padding:80px 20px;font-size:1.1rem}.gallery-status-error h1{color:var(--noir);margin-bottom:15px}.gallery-password{max-width:420px;margin:60px auto;text-align:center}.legal-page-main{max-width:760px}.legal-page-main h1{margin-bottom:30px}.legal-page-content p{margin-bottom:1.2em;line-height:1.7;white-space:pre-line}.gallery-password h1{color:var(--noir);margin-bottom:15px}.gallery-password p{margin-bottom:25px}.gallery-password form{display:flex;flex-direction:column;gap:15px}.gallery-password input{padding:12px;border:1px solid #ddd;border-radius:2px;font-size:1rem}.gallery-intro{text-align:center;margin-bottom:50px}.gallery-intro h1{color:var(--noir);font-size:2.2rem;margin-bottom:10px}.gallery-client{color:var(--accent);font-weight:600;margin-bottom:15px}.gallery-intro .btn{margin-top:20px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.gallery-item{position:relative;background-color:var(--blanc);border-radius:5px;overflow:hidden;box-shadow:0 5px 15px #00000014}.gallery-item img,.gallery-item video{width:100%;height:220px;object-fit:cover;display:block;background-color:#000}.gallery-item-download{display:block;text-align:center;padding:10px;background-color:var(--accent);color:var(--blanc);text-decoration:none;font-size:.9rem;transition:background-color .3s}.gallery-item-download:hover{background-color:#7a6348}@media (max-width: 768px){.header-content{flex-direction:column;padding:15px 0}nav ul{margin-top:15px}nav li{margin:0 10px}.gallery-code-form{right:auto;left:50%;transform:translate(-50%);width:90vw;max-width:300px}.hero-content h1{font-size:2.5rem}.about-content{flex-direction:column}.specialties-grid,.portfolio-grid,.contact-content{grid-template-columns:1fr}.footer-content{flex-direction:column;gap:30px}}
