/* Maison V7: motion language */
:root{--motion-bronze:#b58b55;--motion-champagne:#ead2aa}
html{scroll-behavior:smooth}body{overflow-x:hidden}
main{isolation:isolate}
main section{position:relative}
/* animated light wash is intentionally subtle */
main .home-hero::after,main .page-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 23%,rgba(234,210,170,.16) 48%,transparent 70%);background-size:240% 100%;animation:maison-light 12s ease-in-out infinite;mix-blend-mode:screen;z-index:2}
@keyframes maison-light{0%,25%{background-position:130% 0}65%,100%{background-position:-130% 0}}
/* typography: ink-reveal and thin editorial rule */
.motion-heading{position:relative}.motion-heading::after{content:"";position:absolute;bottom:-.2em;left:0;width:min(80px,18%);height:1px;background:linear-gradient(90deg,var(--motion-bronze),transparent);transform:scaleX(0);transform-origin:left;transition:transform .85s cubic-bezier(.2,.7,.2,1)}.motion-heading.motion-in::after{transform:scaleX(1)}
.motion-entrance{opacity:0;transform:translate3d(0,25px,0);filter:blur(4px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1),filter .85s ease;transition-delay:var(--motion-delay,0ms)}.motion-entrance.motion-in{opacity:1;transform:none;filter:none}
/* hover with moving highlight, restrained scale */
main .btn,main .text-link,main .insight-action{position:relative;overflow:hidden;transition:transform .28s ease,box-shadow .35s ease,background-color .35s ease}
main .btn::after,main .insight-action::after{content:"";position:absolute;inset:-100% auto -100% -50%;width:28%;background:linear-gradient(90deg,transparent,rgba(255,248,228,.38),transparent);transform:skewX(-24deg) translateX(-240%);pointer-events:none}
main .btn:hover,main .insight-action:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(106,70,29,.16)}main .btn:hover::after,main .insight-action:hover::after{animation:maison-sheen .72s ease forwards}@keyframes maison-sheen{to{transform:skewX(-24deg) translateX(760%)}}
main a:focus-visible,main button:focus-visible{outline:2px solid var(--motion-bronze);outline-offset:4px}
/* photography */
main .photo,main .portfolio-card,main .work-card,main .gallery-item{overflow:hidden}main .photo img,main .portfolio-card img,main .work-card img,main .gallery-item img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .8s ease;will-change:auto}main .photo:hover img,main .portfolio-card:hover img,main .work-card:hover img,main .gallery-item:hover img{transform:scale(1.045);filter:contrast(1.04) saturate(1.06)}
/* moving accent along cards */
main .atelier-step,main .service-card,main .insight-list li{transition:background-color .35s ease,transform .4s ease,box-shadow .4s ease}main .atelier-step:hover,main .service-card:hover{transform:translateY(-4px);box-shadow:0 12px 35px rgba(66,43,20,.08)}
.motion-divider{height:1px;background:linear-gradient(90deg,transparent,#b58b55,#ead2aa,transparent);transform:scaleX(.05);transform-origin:center;transition:transform 1.4s ease}.motion-divider.motion-in{transform:scaleX(1)}
/* image-lightbox style for hover hint */
.motion-image-wrap{position:relative}.motion-image-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,transparent 60%,rgba(213,172,112,.10));opacity:0;transition:opacity .55s}.motion-image-wrap:hover::after{opacity:1}
/* click ripple */.motion-ripple{position:absolute;pointer-events:none;border-radius:50%;background:rgba(255,237,203,.45);width:12px;height:12px;transform:translate(-50%,-50%) scale(0);animation:maison-ripple .65s ease-out forwards}@keyframes maison-ripple{to{transform:translate(-50%,-50%) scale(28);opacity:0}}
/* small editorial progress line */#maison-progress{position:fixed;left:0;top:0;height:2px;width:0;z-index:99999;pointer-events:none;background:linear-gradient(90deg,#8c6037,#ead2aa,#b58b55);box-shadow:0 0 8px rgba(222,185,123,.45)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}main .home-hero::after,main .page-hero::after{animation:none;display:none}.motion-entrance{opacity:1;transform:none;filter:none;transition:none}.motion-heading::after,.motion-divider{transition:none;transform:scaleX(1)}main .photo img,main .portfolio-card img,main .work-card img,main .gallery-item img,main .btn,main .insight-action{transition:none}main .btn:hover,main .insight-action:hover,main .atelier-step:hover,main .service-card:hover{transform:none}.motion-ripple{display:none}}
