/* Lightweight interaction layer: no layout changes, no external libraries. */
:root{--motion-fast:240ms;--motion-reveal:520ms;--motion-ease:cubic-bezier(.22,.61,.36,1)}
section[id],footer[id]{scroll-margin-top:76px}
header{transition:box-shadow var(--motion-fast) ease}
header.is-scrolled{box-shadow:0 9px 26px #0629453d}
.links>a.nav-current,.links>.nav-dropdown.nav-current>summary{background-image:linear-gradient(#54c9e9,#54c9e9);background-repeat:no-repeat;background-position:0 100%;background-size:100% 2px;color:#fff}

/* Hero entrance: four quiet steps, completed in under one second. */
.motion-ready .home-hero h1,.motion-ready .home-hero .hero-description,.motion-ready .home-hero .signature,.motion-ready .home-hero .hero-actions{opacity:0;transform:translateY(12px)}
.motion-ready .home-hero.hero-active h1,.motion-ready .home-hero.hero-active .hero-description,.motion-ready .home-hero.hero-active .signature,.motion-ready .home-hero.hero-active .hero-actions{opacity:1;transform:translateY(0);transition:opacity 440ms var(--motion-ease),transform 440ms var(--motion-ease)}
.motion-ready .home-hero.hero-active h1{transition-delay:40ms}
.motion-ready .home-hero.hero-active .hero-description{transition-delay:170ms}
.motion-ready .home-hero.hero-active .signature{transition-delay:300ms}
.motion-ready .home-hero.hero-active .hero-actions{transition-delay:430ms}

/* One-time section reveal. Content stays visible when JavaScript is unavailable. */
.motion-ready [data-reveal]{opacity:0;transform:translateY(16px)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:translateY(0);transition:opacity var(--motion-reveal) var(--motion-ease),transform var(--motion-reveal) var(--motion-ease)}

/* Only elements whose whole card is a link receive the unified lift. */
:is(a.card,a.device-link,a.uro-product,a.feature-mini,a.partner-tile){transition:transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) ease,border-color var(--motion-fast) ease,background-color var(--motion-fast) ease}
:is(a.card,a.device-link,a.uro-product,a.feature-mini,a.partner-tile) img,.card .photo{transition:transform var(--motion-fast) var(--motion-ease)}
.solution-link span,.uro-product em,.feature-mini em,.catalog-actions a{transition:transform var(--motion-fast) var(--motion-ease),color var(--motion-fast) ease}
@media(hover:hover) and (pointer:fine){
  :is(a.card,a.device-link,a.uro-product,a.feature-mini,a.partner-tile):hover{transform:translateY(-4px);border-color:#83c7e4;box-shadow:0 16px 34px #0b3d621f}
  :is(a.card,a.device-link,a.uro-product,a.feature-mini,a.partner-tile):hover img,.card:hover .photo{transform:scale(1.025)}
  .solution-link:hover span{transform:translateX(4px)}
  .uro-product:hover em,.feature-mini:hover em,.catalog-actions a:hover{transform:translateX(3px)}
}

/* Tactile buttons and clear keyboard navigation. */
:is(.hero-action,.nav-quote,.action,.cta,.slider-button,.quote-submit,.quote-close,.solution-link,.text-link,.catalog-actions a,.links a,.links summary):focus-visible{outline:3px solid #54c9e9;outline-offset:3px;border-radius:6px}
:is(.hero-action,.nav-quote,.action,.cta,.slider-button,.quote-submit,.quote-close):active{transform:translateY(1px) scale(.985)}
.slider-button{transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,transform var(--motion-fast) ease}
.slider-button:hover{box-shadow:0 6px 16px #0b3d621a}

/* Native horizontal scrolling already enables touch swipe; keep it fluid. */
.client-viewport{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior-inline:contain}

/* Quotation dialog entrance and exit. */
.quote-dialog{opacity:0;transform:translateY(10px);transition:opacity 210ms ease,transform 210ms var(--motion-ease),display 210ms allow-discrete,overlay 210ms allow-discrete}
.quote-dialog[open]{opacity:1;transform:translateY(0)}
.quote-dialog.is-closing{opacity:0;transform:translateY(8px)}
.quote-dialog::backdrop{opacity:0;transition:opacity 210ms ease,display 210ms allow-discrete,overlay 210ms allow-discrete}
.quote-dialog[open]::backdrop{opacity:1}
.quote-dialog.is-closing::backdrop{opacity:0}
@starting-style{.quote-dialog[open]{opacity:0;transform:translateY(10px)}.quote-dialog[open]::backdrop{opacity:0}}

@media(max-width:1080px){.links>a.nav-current,.links>.nav-dropdown.nav-current>summary{background-position:0 100%;background-size:100% 1px}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}
  .motion-ready .home-hero h1,.motion-ready .home-hero .hero-description,.motion-ready .home-hero .signature,.motion-ready .home-hero .hero-actions,.motion-ready [data-reveal]{opacity:1!important;transform:none!important}
  :is(a.card,a.device-link,a.uro-product,a.feature-mini,a.partner-tile):hover,:is(a.card,a.device-link,a.uro-product,a.feature-mini,a.partner-tile):hover img,.card:hover .photo{transform:none!important}
}
