/* Shared editorial micro-interactions. Load after the page styles; no layout tokens are replaced. */
body.lin-site:not(.elementor-editor-active){--micro-response:180ms;--micro-ease:cubic-bezier(.2,.7,.2,1)}
body.lin-site:not(.elementor-editor-active) .micro-card{transition:translate var(--micro-response) var(--micro-ease),border-color var(--micro-response) ease}
body.lin-site:not(.elementor-editor-active) .micro-frame{overflow:hidden}
body.lin-site:not(.elementor-editor-active) .micro-frame img{transition:transform 400ms var(--micro-ease);transform:scale(1)}
/* Full photographs, their aspect ratios and captions stay intact. */
body.lin-site:not(.elementor-editor-active) img.micro-complete-photo{transform:none;transition:filter 300ms ease}
body.lin-site:not(.elementor-editor-active) .micro-link{transition:color 180ms ease,border-color 180ms ease}
body.lin-site:not(.elementor-editor-active) .micro-link :is(svg,[aria-hidden="true"]){transition:translate 180ms var(--micro-ease)}
body.lin-site:not(.elementor-editor-active) .micro-underline{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size 180ms var(--micro-ease),color 180ms ease}
body.lin-site:not(.elementor-editor-active) :is(.button,.outline-button,.menu-toggle,.carousel-controls button,.editorial-pagination a){transition:translate 160ms var(--micro-ease),background-color 160ms ease,border-color 160ms ease,color 160ms ease}
body.lin-site:not(.elementor-editor-active) :is(.editorial-search input,.editorial-search select){transition:border-color 140ms ease,box-shadow 140ms ease}
body.lin-site:not(.elementor-editor-active) :is(.editorial-search input,.editorial-search select):focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--wash);outline:2px solid var(--primary);outline-offset:2px}

/* Focus is a keyboard state, not a simulated hover left behind by a touch. */
body.lin-site:not(.elementor-editor-active) .micro-card:has(:focus-visible),body.lin-site:not(.elementor-editor-active) a.micro-card:focus-visible{translate:0 -2px}
body.lin-site:not(.elementor-editor-active) .micro-frame:focus-visible img,body.lin-site:not(.elementor-editor-active) .micro-card:has(:focus-visible) .micro-frame img{transform:scale(1.025);transition-duration:600ms}
body.lin-site:not(.elementor-editor-active) .micro-link:focus-visible{border-color:currentColor}
body.lin-site:not(.elementor-editor-active) .micro-underline:focus-visible{background-size:100% 1px}
body.lin-site:not(.elementor-editor-active) .micro-card:has(:focus-visible) .micro-underline{background-size:100% 1px}
body.lin-site:not(.elementor-editor-active) .micro-link:focus-visible :is(svg,[aria-hidden="true"]){translate:3px 0}

@media(hover:hover) and (pointer:fine){
 body.lin-site:not(.elementor-editor-active) .micro-card:hover{translate:0 -2px;border-color:var(--primary)}
 body.lin-site:not(.elementor-editor-active) .micro-frame:hover img,body.lin-site:not(.elementor-editor-active) .micro-card:hover .micro-frame img{transform:scale(1.025);transition-duration:600ms}
 body.lin-site:not(.elementor-editor-active) img.micro-complete-photo:hover{filter:brightness(1.03) saturate(1.015)}
 body.lin-site:not(.elementor-editor-active) .micro-link:hover{border-color:currentColor}
 body.lin-site:not(.elementor-editor-active) .micro-underline:hover,body.lin-site:not(.elementor-editor-active) .micro-card:hover .micro-underline{background-size:100% 1px}
 body.lin-site:not(.elementor-editor-active) .micro-link:hover :is(svg,[aria-hidden="true"]){translate:3px 0}
 body.lin-site:not(.elementor-editor-active) :is(.button,.outline-button,.menu-toggle,.carousel-controls button,.editorial-pagination a):hover{translate:0 -1px}
 body.lin-site:not(.elementor-editor-active) :is(.button,.outline-button,.menu-toggle,.carousel-controls button,.editorial-pagination a):active{translate:0 1px}
}

/* A single, readable title entrance. No word masks, hidden text or scroll reveals. */
@keyframes lin-micro-title-enter{from{translate:0 8px}to{translate:0 0}}
body.lin-site:not(.elementor-editor-active) .micro-enter{animation:lin-micro-title-enter 640ms cubic-bezier(.22,1,.36,1) both}
/* The homepage keeps its existing single entrance, capped at the same motion budget. */
body.lin-site:not(.elementor-editor-active) .hero-photo{animation-duration:1.1s}

/* A printed page and the Elementor authoring canvas always show the final state. */
@media print{
 body.lin-site :is(.micro-card,.micro-frame img,.micro-complete-photo,.micro-enter,.micro-link,.micro-underline){animation:none!important;transition:none!important;translate:none!important;transform:none!important;filter:none!important}
}
@media(prefers-reduced-motion:reduce){
 body.lin-site:not(.elementor-editor-active) :is(.micro-card,.micro-frame img,.micro-complete-photo,.micro-enter,.micro-link,.micro-link svg,.micro-link [aria-hidden="true"],.micro-underline,.button,.outline-button,.menu-toggle,.carousel-controls button,.editorial-pagination a){animation:none!important;transition:none!important;translate:none!important;transform:none!important;filter:none!important}
 body.lin-site:not(.elementor-editor-active) .micro-underline:is(:hover,:focus-visible),body.lin-site:not(.elementor-editor-active) .micro-card:is(:hover,:has(:focus-visible)) .micro-underline{background-size:100% 1px}
}
html.reduce-motion body.lin-site:not(.elementor-editor-active) :is(.micro-card,.micro-frame img,.micro-complete-photo,.micro-enter,.micro-link,.micro-link svg,.micro-link [aria-hidden="true"],.micro-underline,.button,.outline-button,.menu-toggle,.carousel-controls button,.editorial-pagination a){animation:none!important;transition:none!important;translate:none!important;transform:none!important;filter:none!important}
html.reduce-motion body.lin-site:not(.elementor-editor-active) .micro-underline:is(:hover,:focus-visible),html.reduce-motion body.lin-site:not(.elementor-editor-active) .micro-card:is(:hover,:has(:focus-visible)) .micro-underline{background-size:100% 1px}
