/* Public-only scroll scenes. Static layouts remain the no-JS / reduced-motion fallback. */
.signature-public[data-motion="active"]{overflow-x:clip}
.signature-public .motion-gallery-count,.signature-public .motion-photo-caption,.signature-public .motion-marquee,.signature-public .motion-gallery-roll{display:none}
.signature-public .motion-stack-stage{display:contents}
.signature-public .motion-promise-photo{display:none}
.signature-public .motion-toggle{position:fixed;bottom:16px;right:16px;z-index:35;border:1px solid #7a6553;border-radius:30px;background:#fffdf7;color:#41342a;padding:10px 16px;min-height:44px;font-size:14px;box-shadow:0 4px 20px #28211c1a}
.signature-public .motion-toggle:disabled{opacity:1;background:#f7f1e8;color:#5e4b3d}
.signature-public[data-menu-open] .motion-toggle,.signature-public:has(#bookingModal[aria-hidden="false"]) .motion-toggle{display:none}
.signature-public .motion-word{display:inline-block;overflow:hidden;vertical-align:bottom;padding-block:.1em;margin-block:-.1em;white-space:nowrap}
.signature-public .motion-letter{display:inline-block}
.signature-public[data-motion="active"] .hero h1,.signature-public[data-motion="active"] .hero>img{animation:none}
.signature-public[data-motion="active"] .topbar{transition:transform .4s cubic-bezier(.2,.8,.2,1);will-change:transform}
.signature-public[data-motion="active"][data-motion-header="hidden"]:not([data-menu-open]) .topbar:not(:focus-within){transform:translateY(calc(-100% - 60px));pointer-events:none}
/* The full portfolio column travels inside a viewport-sticky theater. */
.signature-public[data-motion="active"][data-motion-layout="theater"] #galerie{height:var(--gallery-height,500vh);padding:0;margin:64px 10px 90px;background:transparent}
.signature-public[data-motion="active"][data-motion-layout="theater"] .motion-gallery-stage{position:sticky;top:14px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);width:100%;max-width:none;height:calc(100dvh - 28px);padding:26px;border-radius:28px;background:#28211c;color:#fffdf7;overflow:hidden;gap:38px}
.signature-public[data-motion="active"][data-motion-layout="theater"] .motion-gallery-heading{display:flex;flex-direction:column;justify-content:center;padding:28px;min-width:0;overflow:auto}
.signature-public[data-motion="active"][data-motion-layout="theater"] #galerie .eyebrow{color:#eadfcb;font-size:14px}
.signature-public[data-motion="active"][data-motion-layout="theater"] #galerie .title{color:#fffdf7;font-size:clamp(30px,3.2vw,52px);max-width:17ch;margin-bottom:24px}
.signature-public[data-motion="active"][data-motion-layout="theater"] .motion-gallery-window{overflow:hidden;min-height:0;position:relative;border-radius:20px}
.signature-public[data-motion="active"][data-motion-layout="theater"] .editorial-grid{display:flex;flex-direction:column;gap:24px;position:relative;margin:0;transform:translate3d(0,var(--gallery-y,0px),0);will-change:transform}
.signature-public[data-motion="active"][data-motion-layout="theater"] #galerie .cardimg{flex:none;height:calc(100dvh - 110px);min-height:380px;margin:0;border-radius:22px;isolation:isolate}
.signature-public[data-motion="active"] .motion-photo-caption{display:block;position:absolute;bottom:20px;left:20px;right:20px;z-index:2;color:#fffdf7;font-size:clamp(28px,3vw,48px);letter-spacing:-.04em;line-height:1.1;transform:translateY(120px);transition:transform .55s cubic-bezier(.16,1,.3,1),color .3s}
.signature-public[data-motion="active"] .cardimg:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#28211cbb,transparent 42%),radial-gradient(circle at var(--pointer-light-x,50%) var(--pointer-light-y,50%),#fffdf72b,transparent 60%);opacity:0;transition:opacity .4s;z-index:1;pointer-events:none}
.signature-public[data-pointer-effects="active"] .cardimg[data-pointer-over]:after{opacity:1}
.signature-public[data-pointer-effects="active"] .cardimg[data-pointer-over] .motion-photo-caption{transform:none;color:#fffdf7}
.signature-public[data-motion="active"][data-motion-layout="theater"] .motion-gallery-chapters{display:flex;gap:8px;flex-wrap:wrap}
.signature-public .motion-gallery-chapters button{background:transparent;border:1px solid #a68f75;color:#eee4d5;border-radius:50%;min-height:44px;min-width:44px;padding:10px;font-size:14px}
.signature-public .motion-gallery-chapters button[aria-current]{background:#eadfcb;border-color:#eadfcb;color:#41342a}
.signature-public[data-motion="active"][data-motion-layout="theater"] .motion-gallery-count{display:none}
.signature-public[data-motion="active"][data-motion-layout="theater"] .motion-gallery-roll{display:block;height:clamp(180px,18vw,270px);flex:none;overflow:hidden;margin:10px 0 24px;mask-image:linear-gradient(transparent,#000 35%,#000 65%,transparent)}
.signature-public .motion-gallery-roll-track{transform:translateY(var(--gallery-label-y,80px));will-change:transform}
.signature-public .motion-gallery-roll-track>div{font-size:clamp(38px,5.8vw,86px);height:clamp(60px,6vw,90px);line-height:1.05;letter-spacing:-.06em;white-space:nowrap;color:#fffdf7}
.signature-public .motion-gallery-count small{font-size:24px;color:#c6b49c;letter-spacing:-.04em}
.signature-public[data-motion="active"][data-motion-layout="theater"] #galerie .gallery-action{position:absolute;bottom:30px;right:46px;margin:0;z-index:4;max-width:calc(50% - 70px)}
.signature-public[data-motion="active"][data-motion-layout="theater"] #galerie .gallery-action a{font-size:14px;padding:12px 18px;background:#fffdf7f2}
/* Three promises peel upward one by one, independently of their static text. */
.signature-public[data-motion="active"][data-motion-layout="theater"] .trust-grid{display:block;height:300vh;position:relative;border:0;margin-top:0}
.signature-public[data-motion="active"][data-motion-layout="theater"] .motion-stack-stage{display:block;position:sticky;top:6vh;height:88vh;overflow:clip;isolation:isolate}
.signature-public[data-motion="active"][data-motion-layout="theater"] .trust-card{position:absolute;inset:5% 17% 8%;display:flex;flex-direction:column;padding:26px;border:1px solid #dfd0bd;border-radius:26px;background:#eadfcb;z-index:calc(5 - var(--card-index));transform:translateY(var(--peel-y,0%)) rotate(var(--peel-turn,0deg));transform-origin:20% 50%;will-change:transform;box-shadow:0 14px 50px #28211c20;overflow:hidden}
.signature-public[data-motion="active"][data-motion-layout="theater"] .trust-card:nth-child(2){background:#f3eadb}
.signature-public[data-motion="active"][data-motion-layout="theater"] .trust-card:nth-child(3){background:#dfcfb6}
.signature-public[data-motion="active"] .motion-promise-photo{display:block;width:100%;height:46%;min-height:0;object-fit:cover;object-position:center 55%;border-radius:14px;margin-bottom:24px}
.signature-public[data-motion="active"][data-motion-layout="theater"] .trust-card strong{font-size:clamp(28px,3.2vw,48px);line-height:1.08;color:#28211c;margin-bottom:14px;letter-spacing:-.045em}
.signature-public[data-motion="active"][data-motion-layout="theater"] .trust-card span{font-size:17px;line-height:1.55;color:#41342a}
/* A genuine loop plus scroll drift, with a user-accessible pause control. */
.signature-public[data-motion="active"] .motion-marquee{display:block;overflow:hidden;margin:70px calc(50% - 50vw);padding:28px 0;background:#eadfcb;transform:rotate(-3deg);max-width:100vw}
.signature-public .motion-marquee-drift{transform:translateX(var(--marquee-drift,0%));width:max-content}
.signature-public .motion-marquee-track{display:flex;width:max-content;animation:atelier-marquee 32s linear infinite;animation-play-state:paused}
.signature-public .motion-marquee-track span{flex:none;white-space:nowrap;font-size:clamp(44px,7.8vw,120px);font-weight:500;letter-spacing:-.065em;line-height:1.15;color:#28211c}
@keyframes atelier-marquee{to{transform:translateX(-50%)}}
.signature-public[data-motion-marquee="visible"] .motion-marquee-track{animation-play-state:running}
.signature-public[data-motion-visibility="hidden"] .motion-marquee-track{animation-play-state:paused}
/* Closing line follows the scroll. Useful footer links never move. */
.signature-public[data-motion="active"] .footer{position:relative;isolation:isolate;overflow:hidden;background:#eee4d5;color:#28211c;padding-top:80px;padding-bottom:88px}
.signature-public[data-motion="active"] .footer:before{content:'';position:absolute;inset:0;z-index:-1;background:#eadfcb;clip-path:inset(calc(100% - var(--footer-rise,0%)) 0 0);pointer-events:none}
.signature-public[data-motion="active"] .footer-grid{display:block}
.signature-public[data-motion="active"] .footer .brand{font-size:clamp(80px,18vw,300px);line-height:1.25;white-space:nowrap;width:max-content;transform:translateX(var(--closing-x,0px)) rotate(var(--closing-turn,0deg));transform-origin:left center;color:#28211c;will-change:transform;letter-spacing:-.075em}
.signature-public[data-motion="active"] .footer .brand{margin:0}
.signature-public[data-motion="active"] .motion-closing-letter{transform:translateY(var(--letter-y,0%)) rotate(var(--letter-turn,0deg))}
.signature-public[data-motion="active"] .footer p,.signature-public[data-motion="active"] .footer-links{color:#5e4b3d!important}
.signature-public[data-motion="active"] .footer .cta{background:#41342a;color:#fffdf7;margin-top:24px}
.signature-public[data-motion="active"] .footer>.shell:last-child{color:#5e4b3d!important;border-color:#a68f75!important}
@media(max-width:1100px){
 .signature-public[data-motion="active"][data-motion-layout="theater"] .motion-gallery-heading{padding:10px}
 .signature-public[data-motion="active"][data-motion-layout="theater"] .motion-gallery-stage{gap:20px;padding:20px}
 .signature-public[data-motion="active"][data-motion-layout="theater"] #galerie .title{font-size:36px}
}
@media(max-width:800px){
 .signature-public .motion-toggle{bottom:12px;right:10px;font-size:12px;min-height:44px;padding:9px 12px}
 .signature-public[data-motion="active"][data-motion-layout="theater"] #galerie{margin:38px 6px 48px}
 .signature-public[data-motion="active"][data-motion-layout="theater"] .motion-gallery-stage{height:calc(100dvh - 28px);grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:16px;padding:18px;border-radius:22px}
 .signature-public[data-motion="active"][data-motion-layout="theater"] .motion-gallery-heading{padding:0;display:grid;grid-template-columns:1fr auto;gap:8px}
 .signature-public[data-motion="active"][data-motion-layout="theater"] #galerie .eyebrow{font-size:12px;grid-column:1/-1;margin:0}
 .signature-public[data-motion="active"][data-motion-layout="theater"] #galerie .title{font-size:clamp(25px,6.6vw,36px);max-width:20ch;margin:0;grid-column:1/-1}
 .signature-public[data-motion="active"][data-motion-layout="theater"] .motion-gallery-count{font-size:30px;margin:0;align-self:center;grid-column:2;grid-row:3}.signature-public .motion-gallery-count small{font-size:14px}
 .signature-public[data-motion="active"][data-motion-layout="theater"] .motion-gallery-count{display:block}
 .signature-public[data-motion="active"][data-motion-layout="theater"] .motion-gallery-roll{display:none}
 .signature-public[data-motion="active"][data-motion-layout="theater"] .motion-gallery-chapters{gap:3px;grid-column:1;grid-row:3}
 .signature-public .motion-gallery-chapters button{min-width:34px;min-height:44px;padding:5px;font-size:12px;border-radius:12px}
 .signature-public[data-motion="active"][data-motion-layout="theater"] #galerie .cardimg{height:calc(100svh - 225px);min-height:300px;border-radius:16px}
 .signature-public[data-motion="active"][data-motion-layout="theater"] #galerie .gallery-action{left:30px;right:30px;bottom:28px;max-width:none;text-align:center}
 .signature-public[data-motion="active"][data-motion-layout="theater"] #galerie .gallery-action a{font-size:12px;padding:12px}
 .signature-public[data-motion="active"][data-motion-layout="theater"] .trust-grid{height:auto;display:block;margin-top:25px}
 .signature-public[data-motion="active"][data-motion-layout="theater"] .motion-stack-stage{display:flex;position:static;height:auto;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding:12px 0 20px;isolation:auto}
 .signature-public[data-motion="active"][data-motion-layout="theater"] .trust-card{position:static;inset:auto;flex:0 0 88%;padding:22px;transform:none;scroll-snap-align:start;box-shadow:none;min-height:400px}
 .signature-public[data-motion="active"] .motion-promise-photo{height:220px;flex:none}
 .signature-public[data-motion="active"][data-motion-layout="theater"] .trust-card strong{font-size:28px}.signature-public[data-motion="active"][data-motion-layout="theater"] .trust-card span{font-size:16px}
 .signature-public[data-motion="active"] .motion-marquee{margin-block:45px}
 .signature-public[data-motion="active"] .footer{padding-top:40px}.signature-public[data-motion="active"] .footer .brand{font-size:29vw}
}
@media(pointer:coarse){.signature-public[data-motion="active"] .cardimg:after{display:none}.signature-public[data-motion="active"] .motion-photo-caption{transform:none;font-size:24px;background:#41342ac9;padding:10px 14px;border-radius:12px;right:auto;bottom:76px}}
@media(prefers-reduced-motion:reduce){.signature-public .motion-word,.signature-public .motion-letter{transform:none!important}.signature-public .motion-marquee{display:none!important}}

/* Fine-pointer details: native cursor and hit areas remain unchanged. */
.signature-public .motion-pointer-badge{position:fixed;top:0;left:0;z-index:90;pointer-events:none;user-select:none;background:#eadfcb;color:#28211c;border:1px solid #fffdf7bb;border-radius:50%;padding:24px 18px;font-size:14px;font-weight:600;line-height:1.2;box-shadow:0 6px 24px #28211c18;white-space:nowrap}
.signature-public:not([data-pointer-effects="active"]) .motion-pointer-badge,.signature-public[data-menu-open] .motion-pointer-badge,.signature-public:has([role="dialog"][aria-hidden="false"]) .motion-pointer-badge{display:none}
.signature-public .motion-link-window{display:inline-grid;vertical-align:middle;position:relative;overflow:hidden;padding-block:.12em;margin-block:-.12em;max-width:100%}
.signature-public .motion-link-label{display:block;grid-area:1/1}
.signature-public .motion-link-copy{display:none;position:absolute;inset:.12em 0 auto;transform:translateY(125%);pointer-events:none}
@media(hover:hover) and (pointer:fine){
 .signature-public[data-pointer-effects="active"] .motion-link-copy{display:block}
 .signature-public[data-pointer-effects="active"] :is(.motion-link-label,.motion-link-copy){transition:transform .4s cubic-bezier(.16,1,.3,1)}
 .signature-public[data-pointer-effects="active"] .motion-link:is(:hover,:focus-visible) .motion-link-label{transform:translateY(-125%)}
 .signature-public[data-pointer-effects="active"] .motion-link:is(:hover,:focus-visible) .motion-link-copy{transform:translateY(0)}
 .signature-public[data-pointer-effects="active"] :is(.cardimg>img,.hero>img){transform:translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0) scale(1);transition:transform .65s cubic-bezier(.16,1,.3,1)}
 .signature-public[data-pointer-effects="active"] .cardimg[data-pointer-over]>img{transform:translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0) scale(1.06);transition-duration:.15s}
 .signature-public[data-pointer-effects="active"] .hero[data-pointer-over]>img{transform:translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0) scale(1.015);transition-duration:.25s}
 .signature-public[data-pointer-effects="active"] :is(.hero h1,.section .title) .motion-word{transition:color .3s}
 .signature-public[data-pointer-effects="active"] .hero h1 .motion-word:hover{color:#eadfcb}
 .signature-public[data-pointer-effects="active"] .section:not(#galerie) .title .motion-word:hover{color:#7a6553}
 .signature-public[data-pointer-effects="active"] #prestations .title .motion-word:hover{color:#eadfcb}
 .signature-public[data-pointer-effects="active"] .service h3{transition:translate .3s cubic-bezier(.16,1,.3,1)}
 .signature-public[data-pointer-effects="active"] .service:hover h3{translate:6px 0}
}
.signature-public[data-pointer-effects="off"] .cardimg:hover img{transform:none}
