/* AGRI GEAR V6.8 — progressive enhancement, low-motion professional transitions. */
:root{--fx-blue:#24addf;--fx-ease:cubic-bezier(.22,1,.36,1)}
/* Page scroll indicator */
.reading-progress{position:fixed;z-index:200;inset:0 0 auto;height:3px;pointer-events:none;background:transparent}
.reading-progress span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#188ec7,#4cc6ed);transform:scaleX(0);transform-origin:0 50%;will-change:transform}
/* Premium sticky nav: smaller drop shadow only after scroll */
.site-header{transition:background-color .28s ease,box-shadow .28s ease,border-color .28s ease}
.site-header.is-scrolled{background:rgba(255,255,255,.96);border-bottom-color:rgba(15,66,99,.13);box-shadow:0 13px 28px rgba(6,28,45,.10);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.main-nav a:not(.nav-cta){transition:color .2s ease}
.main-nav a:not(.nav-cta):focus-visible,.footer a:focus-visible,.btn:focus-visible,.quick-links a:focus-visible{outline:3px solid #43bfe7;outline-offset:4px}
/* Hero: animated copy on carousel changes without moving its layout container */
.hero-cinema-copy.fx-copy-change > .hero-smallline,.hero-cinema-copy.fx-copy-change > h1{animation:fx-copy-rise .68s var(--fx-ease) both}
.hero-cinema-copy.fx-copy-change > p{animation:fx-copy-rise .72s .06s var(--fx-ease) both}
.hero-cinema-copy.fx-copy-change .hero-actions{animation:fx-copy-rise .7s .11s var(--fx-ease) both}
@keyframes fx-copy-rise{from{opacity:.2;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
/* elegant interactive details */
.btn,.nav-cta,.filter,.gallery-filter{transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s var(--fx-ease)}
.btn:hover,.main-nav .nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(5,34,57,.18)}
.btn > span,.service-arrow,.quick-links b,.gallery-expand{transition:transform .35s var(--fx-ease),background-color .25s ease}
.btn:hover > span,.service-card:hover .service-arrow,.quick-links a:hover b{transform:translate(3px,-3px)}
.quick-links a{position:relative;overflow:hidden}
.quick-links a:after{content:'';position:absolute;bottom:0;left:0;height:2px;width:100%;background:#30c3ec;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--fx-ease)}
.quick-links a:hover:after,.quick-links a:focus-visible:after{transform:scaleX(1)}
/* tighten/stagger section entrances; existing observer controls visibility */
.reveal{transition:opacity .8s var(--fx-ease),transform .8s var(--fx-ease)!important}
.reveal.visible{transition-delay:var(--fx-delay,0ms)!important}
.service-grid>.reveal:nth-child(2),.values-grid>.reveal:nth-child(2){--fx-delay:110ms}
.steps-grid>.reveal:nth-child(2){--fx-delay:90ms}.steps-grid>.reveal:nth-child(3){--fx-delay:180ms}
.application-grid>.reveal:nth-child(4n+2){--fx-delay:70ms}
.application-grid>.reveal:nth-child(4n+3){--fx-delay:140ms}
.application-grid>.reveal:nth-child(4n+4){--fx-delay:210ms}
/* subtle photographic reveal */
.section-photo>img{transition:filter .9s ease,transform 1.2s var(--fx-ease)}
.intro:has(.section-heading.visible) .section-photo>img,.feature-band:has(.feature-content.visible) .section-photo>img,.catalogue-wrap:has(.section-heading.visible) .section-photo>img{transform:scale(1.017)}
/* hover controlled by border/line, not neon or large motion */
.service-card,.product-card,.gallery-tile{position:relative;transition:transform .35s var(--fx-ease),box-shadow .35s ease,border-color .35s ease}
.service-card:focus-visible,.gallery-tile:focus-visible{outline:3px solid #20a8e6;outline-offset:3px}
.service-card:hover,.product-card:hover,.gallery-tile:hover{border-color:#91bfda;box-shadow:0 22px 45px rgba(10,37,56,.14)}
.service-photo img,.product-image img,.gallery-tile-image img{transition:transform .8s var(--fx-ease),filter .8s ease!important}
.service-card:hover .service-photo img,.product-card:hover .product-image img,.gallery-tile:hover .gallery-tile-image img{transform:scale(1.055)}
.gallery-tile:hover .gallery-expand,.gallery-tile:focus-visible .gallery-expand{background:#047fbd;transform:translate(-4px,-4px)}
.application-card{overflow:hidden}
.application-card:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:#38b7e9;transform:scaleX(0);transform-origin:0;transition:transform .5s var(--fx-ease);pointer-events:none}
.application-card:hover:after,.application-card:focus-within:after{transform:scaleX(1)}
/* filtering: use animation only for newly rendered catalogue/gallery cards */
@keyframes fx-item-in{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}
.gallery-tile.fx-item-enter,.product-card.fx-item-enter{animation:fx-item-in .62s var(--fx-ease) both;animation-delay:calc(var(--fx-index,0) * 65ms)}
/* modal enter only on open; native dialog Escape and focus behavior are preserved */
@keyframes fx-dialog-enter{from{opacity:.2;transform:translateY(14px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes fx-backdrop-enter{from{opacity:0}to{opacity:1}}
.gallery-lightbox[open],.product-dialog[open]{animation:fx-dialog-enter .3s var(--fx-ease) both}
.gallery-lightbox[open]::backdrop,.product-dialog[open]::backdrop{animation:fx-backdrop-enter .28s ease both}
@keyframes fx-lightbox-swap{from{opacity:.5}to{opacity:1}}
#galleryLargeImage.fx-swap{animation:fx-lightbox-swap .28s ease both}
/* mobile nav entrance with no overlay to trap users */
@media(max-width:925px){.main-nav.open{animation:fx-menu-enter .25s var(--fx-ease) both}}
@keyframes fx-menu-enter{from{opacity:.5;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}
@media(hover:none){.service-card:hover,.product-card:hover,.gallery-tile:hover,.btn:hover{transform:none}}
/* Accessibility: no hidden content, no autoplay effects for reduced motion. */
@media(prefers-reduced-motion:reduce){
 .reading-progress{display:none!important}
 .site-header,.btn,.nav-cta,.service-card,.product-card,.gallery-tile,.gallery-tile-image img,.product-image img,.service-photo img,.section-photo>img,.service-arrow,.quick-links b,.quick-links a:after,.application-card:after,.gallery-expand,.reveal{animation:none!important;transition:none!important;transform:none!important;transition-delay:0ms!important}
 .gallery-tile.fx-item-enter,.product-card.fx-item-enter,.hero-cinema-copy.fx-copy-change>*{animation:none!important}
}
html.effects-disabled .reading-progress{display:none}
html.effects-disabled .gallery-tile.fx-item-enter,html.effects-disabled .product-card.fx-item-enter,html.effects-disabled .hero-cinema-copy.fx-copy-change>*{animation:none}
