/* Amé motion: progressive enhancement; content stays visible without JavaScript. */
.motion [data-reveal],.motion [data-reveal].revealed{opacity:1;animation:none}
.reading-progress{position:fixed;left:0;top:0;width:100%;height:2px;z-index:90;background:var(--gold);transform:scaleX(0);transform-origin:left;pointer-events:none}
.button,.service-list-item,.service-row,.next-service,.contact-actions>a{transition:background-color .25s ease,color .25s ease,box-shadow .3s ease}
.button .ui-icon,.service-list-item>span:last-child,.service-row>b,.next-service>b,.contact-actions .ui-icon{transition:transform .35s cubic-bezier(.22,1,.36,1)}
.button:is(:hover,:focus-visible) .ui-icon,.service-list-item:is(:hover,:focus-visible)>span:last-child,.service-row:is(:hover,:focus-visible)>b,.next-service:is(:hover,:focus-visible)>b,.contact-actions>a:is(:hover,:focus-visible) .ui-icon{transform:translate(4px,-2px)}
.service-list-item:is(:hover,:focus-visible),.service-row:is(:hover,:focus-visible){background:#b49a7010}
.button:is(:hover,:focus-visible){box-shadow:0 8px 20px -12px #3d251866}
.article-image,.article-cover,.journal-card{overflow:hidden}
.article-image img,.journal-card img{transition:transform .75s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.article-feature:hover img,.journal-card:hover img{transform:scale(1.035)}}
.motion .mobile-menu:not([hidden]){animation:ameMenuIn .28s cubic-bezier(.22,1,.36,1) both}
@keyframes ameMenuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.reading-progress{display:none}.motion .mobile-menu:not([hidden]){animation:none}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Cinematic editorial rhythm, with native scrolling. */
.home-page #main>.cinema-section{order:0;padding-top:60px;padding-bottom:42px}
.cinema-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}
.cinema-heading p{font-size:20px;color:var(--brown)}
.cinema-frame{position:relative;isolation:isolate;height:clamp(380px,55vw,600px);border-radius:24px;overflow:hidden;background:#e9e4dc}
.cinema-frame video{width:100%;height:100%;object-fit:cover;object-position:50% 45%;scale:1.06;display:block}
.cinema-overlay{position:absolute;inset:0;display:flex;align-items:end;justify-content:space-between;gap:24px;padding:38px;background:linear-gradient(transparent 50%,#22190e9c);pointer-events:none;color:#fff}
.cinema-overlay>span{font-size:clamp(24px,3vw,42px);line-height:1.3;max-width:65%;letter-spacing:-.025em}
.cinema-overlay .film-control{position:static;pointer-events:auto;min-width:120px;min-height:48px;background:#ffffffea;color:var(--brown);border:1px solid #fff9;backdrop-filter:blur(8px)}
.cinema-section>.media-note{text-align:right;margin-top:12px}
.motion-depth{translate:0 var(--depth-y,0px)}
.motion [data-motion].motion-pending{opacity:0}
@media(prefers-reduced-motion:reduce){.motion [data-motion].motion-pending{opacity:1}}
.motion .home-page .cinema-frame{clip-path:inset(0 var(--cinema-inset,0%) round var(--cinema-radius,24px))}
.motion .home-page .cinema-frame:focus-within{clip-path:none}
.motion .home-page .cinema-frame video{scale:var(--cinema-zoom,1.06)}
.motion .home-page .cinema-overlay{padding-inline:calc(var(--cinema-padding,38px) + var(--cinema-inset,0%))}
.motion-card{transition:box-shadow .35s ease}
@media(hover:hover) and (pointer:fine){
.motion .motion-card:hover{box-shadow:0 22px 40px -28px #3d251855}
.motion .button{position:relative;overflow:hidden}
.motion .button::after{content:'';position:absolute;inset:-40% auto -40% 0;width:35%;background:linear-gradient(90deg,transparent,#ffffff30,transparent);transform:translateX(-180%) skewX(-20deg);transition:transform .65s ease;pointer-events:none}
.motion .button:hover::after{transform:translateX(460%) skewX(-20deg)}
}
@media(max-width:760px){
.home-page #main>.cinema-section{padding-top:36px;padding-bottom:15px}
.cinema-heading{display:block;margin-bottom:16px}.cinema-heading p{font-size:19px;margin-top:8px}
.cinema-frame{height:410px;border-radius:20px}.cinema-frame video{object-position:46% 50%}
.cinema-section{--cinema-padding:22px}
.cinema-overlay{padding:22px;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:20px}.cinema-overlay>span{display:block;max-width:100%;font-size:26px}
.cinema-overlay .film-control{min-height:44px}.motion-depth{translate:none}
}
@media(prefers-reduced-motion:reduce){.motion-depth{translate:none!important}.motion-card{transform:none!important}.cinema-frame video{scale:1}.button::after{display:none}}
