:root{--color-bg:#e4c9b0;--color-surface:#faf3ea;--color-text:#643324;--color-heading:#cb621e;--color-accent:#cb621e;--color-accent-strong:#95160c;--color-accent-light:#d88c65;--color-border:#d8b79a;--font-heading:"Montserrat", sans-serif;--font-body:"Poppins", sans-serif;--font-logo:"Charmonman", cursive;--max-width:72rem}*{box-sizing:border-box}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);margin:0;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-heading);font-weight:700}a{color:var(--color-accent)}a:hover{color:var(--color-accent-strong)}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;width:100%;position:sticky;top:0}.site-header-inner{max-width:var(--max-width);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:.3rem clamp(1rem,4vw,1.5rem);display:flex}.brand{align-items:center;display:flex}.brand img{object-fit:contain;width:auto;max-width:16rem;height:3.5rem;display:block}.site-nav{flex-wrap:wrap;align-items:center;gap:1rem;font-size:.85rem;display:flex}.site-nav a{text-decoration:none}.social-link{align-items:center;display:inline-flex}.lang-switch{border:1px solid var(--color-border);border-radius:.25rem;padding:.15rem .5rem;font-size:.85rem}main{max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem}.site-footer{max-width:var(--max-width);border-top:1px solid var(--color-border);opacity:.75;margin:0 auto;padding:1.5rem;font-size:.85rem}.home-banner{background-image:linear-gradient(#00000059,#00000059),url(/images/homepage.jpg);background-position:50% 55%;background-size:cover;justify-content:center;align-items:center;width:100vw;height:75vh;min-height:280px;margin-top:-2rem;margin-left:calc(50% - 50vw);display:flex;position:relative}.home-banner h2{color:#fff;text-align:center;text-shadow:0 2px 8px #0006;padding:0 1.5rem;font-size:clamp(1.75rem,5vw,3rem)}.home-intro{flex-wrap:wrap;align-items:flex-start;gap:2.5rem;padding:3rem 0;display:flex}.home-intro-text{flex:320px}.home-intro-image-wrap{flex:320px;min-width:0;max-width:380px}.home-intro-image{object-position:75%;border-radius:.5rem;width:auto;max-width:100%;height:auto;max-height:400px;margin:0 auto;display:block}.home-intro-quote{text-align:center;color:var(--color-accent-strong);margin-top:1.5rem;margin-bottom:0;font-style:italic}.home-preview{width:100vw;margin-left:calc(50% - 50vw);padding:3.5rem 1.5rem}.home-preview-inner{max-width:var(--max-width);text-align:center;margin:0 auto}.home-preview h2{margin-top:0;font-size:clamp(1.5rem,3.5vw,2.25rem)}.home-preview p{max-width:42rem;margin:0 auto 1.25rem}.home-preview--services{background:var(--color-bg)}.home-preview--workshops{background:var(--color-accent-light);color:var(--color-text)}.home-preview--about{background:var(--color-text);color:var(--color-surface)}.home-preview--about h2{color:var(--color-accent-light)}.home-preview--contact{background:var(--color-accent-strong);color:#fff}.home-preview--contact h2{color:#fff}.home-preview--contact .button:hover{background:var(--color-text)}.home-preview--gallery{background:var(--color-bg)}.home-gallery-carousel{scroll-snap-type:x mandatory;justify-content:center;gap:1rem;margin:0 auto 1.5rem;padding:.25rem 0 .75rem;display:flex;overflow-x:auto}.home-gallery-carousel-item{scroll-snap-align:center;flex:none;width:min(80vw,20rem)}.home-gallery-carousel-item img{aspect-ratio:4/3;object-fit:cover;border-radius:.5rem;width:100%;transition:transform .2s;display:block}.home-gallery-carousel-item:hover img{transform:scale(1.03)}.home-preview-services-grid{text-align:left;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.5rem;margin:0 auto 1.5rem;display:grid}.home-title{text-align:center;margin-top:2rem;font-size:clamp(1.75rem,4vw,2.75rem)}.hero{text-align:center;padding:2rem 0 3rem}.hero h1{font-size:clamp(1.75rem,4vw,2.75rem)}.button{background:var(--color-accent);color:#fff;border-radius:.3rem;margin-top:1rem;padding:.6rem 1.25rem;text-decoration:none;display:inline-block}.button:hover{background:var(--color-accent-strong)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.5rem;display:grid}.piece-card{border:1px solid var(--color-border);background:var(--color-surface);color:inherit;border-radius:.5rem;scroll-margin-top:6rem;text-decoration:none;display:block;overflow:hidden}.piece-card:target{outline:3px solid var(--color-accent);outline-offset:2px}.service-detail{max-width:50rem;margin:0 auto}.service-info{grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:1.25rem 0;display:grid}.service-info dt{color:var(--color-accent-strong);font-weight:600}.service-info dd{margin:0}.shop-error{background:var(--color-accent-light);color:var(--color-text);border:1px solid var(--color-accent);border-radius:.4rem;padding:.75rem 1rem}.shop-error a{color:var(--color-accent-strong);font-weight:600}.piece-card img{aspect-ratio:8/3;object-fit:cover;width:100%;display:block}.home-preview-services-grid .piece-card{transition:transform .2s}.home-preview-services-grid .piece-card:hover{transform:scale(1.03)}.home-preview-services-grid .piece-card img{aspect-ratio:10/7}.piece-card .piece-body{padding:1rem}.piece-card h3{margin:0 0 .4rem}.piece-card .price{color:var(--color-accent-strong);font-weight:700}form{flex-direction:column;gap:1rem;max-width:32rem;display:flex}label{flex-direction:column;gap:.35rem;font-weight:600;display:flex}input,textarea{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:.3rem;padding:.6rem}textarea{resize:vertical;min-height:8rem}.honeypot{display:none}.form-notice{border:1px solid var(--color-accent);border-radius:.3rem;padding:.75rem 1rem;display:none}.form-notice:target{display:block}.form-notice-error{color:#b3261e;border-color:#b3261e}button{font:inherit;background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:.3rem;align-self:flex-start;padding:.6rem 1.5rem}button:hover{background:var(--color-accent-strong)}.liste-sans-puce{margin:0;padding:0;list-style-type:none}
