.cms-description{margin:24px 0 42px;white-space:normal}.cms-gallery{display:grid;gap:24px 5px}.cms-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.cms-gallery figure{margin:0;min-width:0}.cms-gallery img{width:100%;height:auto;display:block}.cms-grid img{aspect-ratio:1.25;object-fit:cover}.cms-caption{padding:10px 7px 20px}.cms-column{display:block;max-width:1000px;margin:auto}.cms-column figure{margin-bottom:32px}.cms-column .cms-caption{text-align:center}.cms-single{margin:24px auto;max-width:1100px}.cms-single img{max-width:100%;max-height:80vh;display:block;margin:auto}.cms-single figcaption{text-align:center;padding:20px}.cms-lightbox{border:0;max-width:none;max-height:none;width:100vw;height:100dvh;padding:16px;background:#fffffd;color:#000}.cms-lightbox::backdrop{background:#fffffd}.cms-lightbox[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}.cms-lightbox img{max-width:95%;height:calc(100dvh - 165px);object-fit:contain;min-height:0}.cms-lightbox p{white-space:pre-line;text-align:center;max-height:100px;overflow:auto;margin:14px 45px}.cms-lightbox button{background:#fffffd;border:0;padding:12px;font-size:24px;cursor:pointer}.cms-lightbox .close{position:absolute;top:12px;right:16px}.cms-lightbox .prev{position:absolute;left:4px;top:45%}.cms-lightbox .next{position:absolute;right:4px;top:45%}.cms-lightbox a{font-size:14px}.cms-lightbox .count{position:absolute;left:24px;top:24px}@media(max-width:650px){.cms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-caption{overflow-wrap:anywhere}.page_72056{width:100%!important}.page_126939,form{max-width:100%!important}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Match the original image-led galleries: captions appear in the lightbox. */
.cms-grid{display:flex;flex-wrap:wrap;gap:4px}.cms-grid figure{flex-grow:var(--ratio);flex-basis:var(--basis);min-width:0}.cms-grid img{aspect-ratio:var(--ratio);object-fit:cover}.cms-grid .cms-fill{flex-grow:var(--ratio);flex-basis:var(--basis);min-width:0;height:0;margin:0;padding:0}.cms-grid .cms-caption,.cms-masonry .cms-caption{display:none}.cms-masonry{display:block;position:relative}.cms-masonry figure{width:100%;margin-bottom:4px}.cms-masonry figure.is-big{z-index:1}.cms-masonry img{width:100%;height:auto}.cms-masonry.arranged figure{position:absolute;margin:0}.cms-gallery .cms-photo{display:block}.cms-description a{color:inherit}@media(max-width:580px){.cms-grid{display:block}.cms-grid figure{margin-bottom:4px}.cms-grid img{aspect-ratio:auto;object-fit:contain}}
.cms-back{margin:0 0 10px}.cms-back a{color:inherit}.cms-lightbox a{color:inherit}
/* Animations reprises du site d'origine : apparition progressive, icône d'agrandissement, collections */
.cms-js .cms-gallery figure{opacity:0;transition:opacity var(--cms-dur,.3s) ease,transform var(--cms-dur,.3s) cubic-bezier(.2,.7,.2,1),filter var(--cms-dur,.3s) ease,clip-path var(--cms-dur,.3s) cubic-bezier(.6,0,.2,1);animation:cms-failsafe 0s 6s forwards}
[data-anim=rise] .cms-gallery figure:not(.visible){transform:translateY(20px)}
[data-anim=fall] .cms-gallery figure:not(.visible){transform:translateY(-20px)}
[data-anim=zoom] .cms-gallery figure:not(.visible){transform:scale(.9)}
[data-anim=zoomout] .cms-gallery figure:not(.visible){transform:scale(1.08)}
[data-anim=blur] .cms-gallery figure:not(.visible){filter:blur(14px)}
[data-anim=slide] .cms-gallery figure:not(.visible){transform:translateX(-30px)}
[data-anim=tilt] .cms-gallery figure:not(.visible){transform:perspective(900px) rotateX(16deg) translateY(18px);transform-origin:50% 100%}
[data-anim=reveal] .cms-gallery figure{opacity:1}
[data-anim=reveal] .cms-gallery figure:not(.visible){clip-path:inset(100% 0 0 0)}
[data-anim=none] .cms-gallery figure{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important;animation:none!important}
.cms-js .cms-gallery figure.visible{opacity:1;transform:none;filter:none;clip-path:inset(0);animation:none}
@keyframes cms-failsafe{to{opacity:1;transform:none;filter:none;clip-path:inset(0)}}
.cms-gallery .cms-photo{position:relative;display:block}
.cms-photo::after{content:"";position:absolute;top:50%;left:50%;width:30px;height:30px;border-radius:50%;background:rgba(255,255,253,.5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='17' height='17' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3H4v4'/%3E%3Cpath d='M16 3h4v4'/%3E%3Cpath d='M8 21H4v-4'/%3E%3Cpath d='M16 21h4v-4'/%3E%3C/svg%3E") center/17px no-repeat;opacity:0;transition:opacity .3s ease;transform:translate(-50%,-50%);pointer-events:none;z-index:3}
@media (hover:hover) and (pointer:fine){:not([data-hover]) .cms-photo:hover::after,[data-hover=icon] .cms-photo:hover::after{opacity:1}}
.cms-gallery .cms-photo{overflow:hidden}.cms-photo img{transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .35s ease,filter .35s ease}
@media (hover:hover) and (pointer:fine){[data-hover=zoom] .cms-photo:hover img{transform:scale(1.06)}[data-hover=dim] .cms-photo:hover img{opacity:.8}[data-hover=gray] .cms-photo img{filter:grayscale(1)}[data-hover=gray] .cms-photo:hover img{filter:none}}
[data-hover=icon] .cms-photo.touched::after,:not([data-hover]) .cms-photo.touched::after{opacity:1}
@media (max-width:480px){.cms-photo::after{width:40px;height:40px;background-size:18px}}
/* Collections : les sous-galeries utilisent le moteur des galeries de photos, titre posé sur l'image */
.cms-collection .cms-album{position:relative;display:block;overflow:hidden}
.cms-collection .cms-album img{display:block;width:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .35s ease,filter .35s ease}
.cms-collection .cms-album img{aspect-ratio:var(--ratio);object-fit:cover}
.cms-collection .cms-album::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.3);transition:background .3s;pointer-events:none;z-index:1}
.cms-collection .cms-album:hover::after{background:rgba(255,255,255,.18)}
.cms-collection .cms-album-title{position:absolute;top:10px;left:14px;z-index:2;font-size:26px;line-height:1;font-weight:700;color:#fff;transition:color .3s}
.cms-collection .cms-album:hover .cms-album-title{color:#000}
.cms-collection .no-image{min-height:140px}
.cms-collection .no-image .cms-album-title{color:#000}
.cms-collection .cms-caption{display:none}
@media (hover:hover) and (pointer:fine){[data-hover=zoom] .cms-album:hover img{transform:scale(1.06)}[data-hover=dim] .cms-album:hover img{opacity:.8}[data-hover=gray] .cms-album img{filter:grayscale(1)}[data-hover=gray] .cms-album:hover img{filter:none}}
.cms-lightbox img{transition:opacity .25s ease}.cms-lightbox img.loading{opacity:0}
@media (prefers-reduced-motion:reduce){.cms-js .cms-gallery figure{opacity:1!important;transform:none!important;transition:none!important}}
/* Couverture de la page d'accueil (image unique ou diaporama) */
.cms-cover{position:relative;padding:15px}
.cms-cover-stage{position:relative;height:var(--cover-h,80vh);overflow:hidden}
.cms-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity var(--cover-speed,1.2s) ease,transform var(--cover-speed,1.2s) cubic-bezier(.65,0,.25,1),filter var(--cover-speed,1.2s) ease,clip-path var(--cover-speed,1.2s) cubic-bezier(.65,0,.25,1)}
.cms-slide img{width:100%;height:100%;object-fit:contain;display:block}
[data-fit=cover] .cms-slide img{object-fit:cover}
.cms-slide.is-active{opacity:1;z-index:2}.cms-slide.is-leaving{z-index:1}
.cms-slide:not(.is-active):not(.is-leaving){transition:none}
[data-transition=slide] .cms-slide{opacity:1;transform:translateX(100%)}[data-transition=slide] .cms-slide.is-active{transform:none}[data-transition=slide] .cms-slide.is-leaving{transform:translateX(-100%)}
[data-transition=zoom] .cms-slide.is-active img,[data-transition=zoom] .cms-slide.is-leaving img{animation:cms-kenburns var(--cover-duration,7s) ease-out both}
@keyframes cms-kenburns{from{transform:scale(1)}to{transform:scale(1.08)}}
[data-transition=blur] .cms-slide{filter:blur(18px)}[data-transition=blur] .cms-slide.is-active{filter:none}
[data-transition=curtain] .cms-slide{opacity:1;clip-path:inset(0 0 0 100%)}[data-transition=curtain] .cms-slide.is-active,[data-transition=curtain] .cms-slide.is-leaving{clip-path:inset(0)}
[data-transition=none] .cms-slide{transition:none!important}
.cms-cover-prev,.cms-cover-next{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:none;border:0;font-size:38px;line-height:1;padding:10px 14px;cursor:pointer;color:#000;opacity:.45;transition:opacity .3s}.cms-cover-prev:hover,.cms-cover-next:hover{opacity:1}.cms-cover-prev{left:10px}.cms-cover-next{right:10px}
/* Image entière : le cadre épouse l'œuvre, la légende se place juste dessous, centrée */
[data-fit=contain] .cms-cover-stage{height:auto;display:flex;justify-content:center;align-items:flex-start}
[data-fit=contain] .cms-slide.is-active{position:relative;inset:auto;flex:0 0 auto;max-width:100%}
[data-fit=contain] .cms-slide img{width:auto;max-width:100%;height:auto;max-height:var(--cover-h,80vh);margin:0 auto}
[data-fit=contain] .cms-slide:not(.is-active) img{width:100%;height:100%;object-fit:contain}
.cms-cover-caption{text-align:center;margin:14px 0 0;white-space:pre-line;min-height:1.4em;transition:opacity .4s}
@media (max-width:650px){.cms-cover{padding:8px 0}.cms-cover-stage{height:min(var(--cover-h,80vh),72vh)}}
@media (prefers-reduced-motion:reduce){.cms-slide{transition:none!important}.cms-slide img{animation:none!important}}
/* Espace Instagram : grille carrée comme sur Instagram */
.cms-insta{display:grid;grid-template-columns:repeat(var(--ig-cols,3),minmax(0,1fr));gap:var(--ig-gap,4px);max-width:1100px;margin:30px auto 0}
.cms-insta-post{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:#f1f1ef}
.cms-insta-post img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.cms-insta-type{position:absolute;top:8px;right:10px;color:#fff;font-size:15px;text-shadow:0 1px 3px rgba(0,0,0,.5);z-index:2}
.cms-insta-cap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:14px;text-align:center;background:rgba(0,0,0,.45);color:#fff!important;font-size:13px!important;line-height:1.4!important;opacity:0;transition:opacity .3s;overflow:hidden}
@media (hover:hover) and (pointer:fine){.cms-insta-post:hover img{transform:scale(1.04)}.cms-insta-post:hover .cms-insta-cap{opacity:1}}
.cms-insta-follow{text-align:center;margin:26px 0 10px}.cms-insta-follow a{color:inherit;border-bottom:1px solid currentColor;text-decoration:none}
@media (max-width:650px){.cms-insta{grid-template-columns:repeat(min(var(--ig-cols,3),3),minmax(0,1fr));gap:min(var(--ig-gap,4px),3px)}.cms-insta-cap{display:none}}
/* Mobile : icônes du menu (la police d'icônes d'origine n'est pas chargeable depuis ce domaine) */
.mean-container .meanmenu-reveal .bi-x-lg::before{content:"✕"!important;font-family:Arial,sans-serif!important;font-style:normal}
.bi-key::before{content:"✦"!important;font-family:Arial,sans-serif!important;font-style:normal;font-size:.8em}
.mean-container .mean-nav ul li a.mean-expand::before{content:"+";font-family:Arial,sans-serif}.mean-container .mean-nav ul li a.mean-expand.mean-clicked::before{content:"–"}
/* Pages de texte (À propos, Conditions générales) */
main .cms-rich{max-width:var(--rich-width,1000px);margin:0 auto;padding:15px;text-align:var(--rich-align,left)}
main .cms-rich,main .cms-rich p,main .cms-rich li,main .cms-rich blockquote{font-family:var(--rich-font)!important;font-size:var(--rich-size)!important;font-weight:var(--rich-weight)!important;line-height:var(--rich-line)!important}
main .cms-rich p,main .cms-rich ul,main .cms-rich ol,main .cms-rich blockquote{margin:0 0 var(--rich-para,12px)}
main .cms-rich span,main .cms-rich a{font-family:inherit!important;font-size:inherit!important;line-height:inherit!important}
main .cms-rich span:not([style*=font-weight]){font-weight:inherit!important}
main .cms-rich strong,main .cms-rich b{font-weight:700!important}main .cms-rich em,main .cms-rich i{font-style:italic}
main .cms-rich h2,main .cms-rich h3{font-family:var(--rich-font)!important;line-height:1.3!important;margin:1.4em 0 .6em;text-align:inherit}main .cms-rich h2{font-size:calc(var(--rich-size) * 1.45)!important}main .cms-rich h3{font-size:calc(var(--rich-size) * 1.15)!important}
main .cms-rich a{color:inherit;text-decoration:underline}main .cms-rich blockquote{padding-left:18px;border-left:2px solid currentColor;opacity:.85}
/* Page de contact : deux colonnes sobres, formulaire sans cadre */
main .cms-contact{display:grid;justify-items:stretch;grid-template-columns:minmax(0,1fr);gap:clamp(30px,6vw,70px);max-width:1120px;margin:10px auto 60px;padding:0 15px;text-align:left}
main .cms-contact.has-image{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:start}
main .cms-contact.has-image.image-left .cms-contact-main{order:2}
main .cms-contact h1{text-align:left;margin:0 0 22px}
main .cms-contact-intro{margin:0 0 30px;max-width:46em}
main .cms-contact-intro p{margin:0 0 10px}
main .cms-contact-list{list-style:none;margin:0 0 38px;padding:0;border-top:1px solid #e6e3de;max-width:420px}
main .cms-contact-list li{display:flex;align-items:baseline;gap:18px;padding:11px 0;border-bottom:1px solid #e6e3de}
main .cms-contact-list .cms-contact-label{flex:none;width:92px;font-size:10.5px!important;letter-spacing:.14em!important;text-transform:uppercase;color:#8d8880!important;line-height:1.6!important}
main .cms-contact-list a{color:inherit;text-decoration:none;border-bottom:1px solid #d7d3cc;transition:border-color .25s}
main .cms-contact-list a:hover{border-color:currentColor}
main .cms-contact .cms-contact-form{max-width:520px!important;width:100%;margin:0!important;display:block!important;padding:0!important;border:0!important;background:none!important}
main .cms-contact-form .cms-field{display:block;margin:0 0 26px}
main .cms-contact-form label{display:block;margin-bottom:7px;font-size:10.5px!important;letter-spacing:.14em!important;text-transform:uppercase;color:#8d8880!important}
main .cms-contact-form input,main .cms-contact-form textarea{width:100%;border:0;border-bottom:1px solid #cfcbc4;border-radius:0;background:transparent;padding:7px 2px;font:inherit;color:inherit;transition:border-color .25s}
main .cms-contact-form textarea{resize:vertical;min-height:130px;line-height:inherit}
main .cms-contact-form input:focus,main .cms-contact-form textarea:focus{outline:0;border-bottom-color:currentColor}
main .cms-contact-form button{display:inline-block;border:1px solid currentColor;background:transparent;color:inherit;padding:13px 30px;font:inherit;font-size:11.5px!important;letter-spacing:.16em!important;text-transform:uppercase;cursor:pointer;transition:background-color .3s,color .3s}
main .cms-contact-form button:hover{background:#000;color:#fffffd}
main .cms-contact-form .cms-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
main .cms-contact-note{margin:0 0 26px;padding:13px 16px;border-left:2px solid currentColor;background:rgba(0,0,0,.025)}
main .cms-contact-note.ko{color:#8a1c1c}
main .cms-contact-direct a{color:inherit;border-bottom:1px solid currentColor;text-decoration:none}
main .cms-contact-image{margin:0}
main .cms-contact-image img{width:100%;height:auto;max-height:76vh;object-fit:contain;display:block}
main .cms-contact-image figcaption{margin-top:12px;font-size:12px!important;color:#8d8880!important;letter-spacing:.02em}
main .cms-contact-image figcaption a{color:inherit}
@media (max-width:860px){main .cms-contact.has-image{grid-template-columns:minmax(0,1fr)}main .cms-contact.has-image.image-left .cms-contact-main{order:0}main .cms-contact-image img{max-height:60vh}}
/* Espace clients (page Orders) : même sobriété que la page Contact */
main .cms-orders .cms-contact-main{width:100%;max-width:720px;margin:0 auto}
main .cms-order-card{max-width:260px}
main .cms-orders-form{max-width:420px!important}
main .cms-orders-hello{display:flex;flex-wrap:wrap;gap:14px;align-items:baseline;justify-content:space-between;border-bottom:1px solid #e6e3de;padding-bottom:12px;margin:0 0 26px}
main .cms-orders-out{font-size:10.5px!important;letter-spacing:.14em!important;text-transform:uppercase;color:#8d8880!important;text-decoration:none;border-bottom:1px solid #d7d3cc}
main .cms-orders-out:hover{color:inherit!important;border-color:currentColor}
main .cms-orders-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;margin:0 0 30px}
main .cms-order-card{display:block;color:inherit;text-decoration:none}
main .cms-order-card img,main .cms-order-empty{display:block;width:100%;aspect-ratio:1.25;object-fit:cover;background:#f1efec;transition:opacity .3s}
main .cms-order-card:hover img{opacity:.82}
main .cms-order-name{display:block;padding:10px 2px 0;font-size:12px!important;letter-spacing:.06em}
main .cms-rich img{max-width:100%;height:auto;display:block;margin:6px 0}
main .cms-rich .cms-img-full{width:100%}
main .cms-rich .cms-img-center{margin-left:auto;margin-right:auto}
main .cms-rich .cms-img-small{max-width:min(320px,60%)}
main .cms-rich .cms-img-left{float:left;width:45%;margin:4px var(--img-gap,24px) var(--img-gap,24px) 0}
main .cms-rich .cms-img-right{float:right;width:45%;margin:4px 0 var(--img-gap,24px) var(--img-gap,24px)}
main .cms-rich::after{content:"";display:block;clear:both}
@media (max-width:650px){main .cms-rich .cms-img-left,main .cms-rich .cms-img-right{float:none;width:100%!important;margin:10px 0}}
