/* Sigentech motion layer. Progressive enhancement: with no JS or with reduced-motion everything simply shows. */
html{scroll-behavior:smooth;scroll-padding-top:84px}
.hdr{background:var(--navy,#0C2340)!important;transition:box-shadow .3s}
.hdr.is-scrolled{box-shadow:0 8px 28px rgba(6,18,32,.35)}
/* scroll progress */
.prog{position:fixed;inset:0 0 auto 0;height:3px;z-index:80;background:var(--orange,#E8590C);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}
[dir=rtl] .prog,html[dir=rtl] .prog{transform-origin:100% 50%}
/* hero: slow drift and a staged entrance */
.hero-bg img{animation:drift 28s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.02)}to{transform:scale(1.09) translate3d(-1.2%,-1%,0)}}
.hero-in>*{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.hero-in>*:nth-child(2){animation-delay:.12s}.hero-in>*:nth-child(3){animation-delay:.24s}.hero-in>*:nth-child(4){animation-delay:.36s}.hero-in>*:nth-child(5){animation-delay:.48s}
@keyframes rise{from{opacity:0;transform:translateY(22px)}}
/* scroll reveal (JS adds .js to <html> and .rv to targets) */
html.js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
html.js .rv.in{opacity:1;transform:none}
/* cards, buttons, links */
.pc,.sc,.ac{transition:transform .25s ease,box-shadow .25s ease,border-color .2s}
.pc:hover,.sc:hover,.ac:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(12,35,64,.14)}
.pc img,.ac img,.sc img{transition:transform .6s ease}
.pc:hover img,.ac:hover img,.sc:hover img{transform:scale(1.05)}
.btn{transition:transform .2s,background-color .2s,border-color .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(12,35,64,.22)}
.btn:active{transform:none}
.btn svg{transition:transform .2s}.btn:hover svg{transform:translateX(4px)}
[dir=rtl] .btn:hover svg{transform:translateX(-4px)}
:focus-visible{outline:3px solid var(--orange,#E8590C);outline-offset:3px;transition:outline-offset .15s}
/* mega-menu fade (modern browsers; falls back to instant) */
.drop{opacity:1;transform:none;transition:opacity .18s ease,transform .18s ease,display .18s allow-discrete}
@starting-style{.nv:hover .drop,.hdr .nv:focus-within .drop{opacity:0;transform:translateY(8px)}}
.caret{transition:transform .2s}.nv:hover .caret{transform:rotate(180deg)}
/* mobile menu slide */
body.menu-open .mnav{animation:rise .3s ease both}
/* logo grid: soft stagger */
.lg{transition:background-color .2s}.lg:hover{background:#F4F7FA}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  html.js .rv{opacity:1;transform:none}
  .prog{display:none}
}
/* mobile header: logo scaled so logo + language + menu fit with the page gutter on 360-390px phones */
@media (max-width:640px){
  .hdr .wrap{gap:10px}
  .hdr .wrap>a:first-child svg{height:24px;width:auto;max-width:100%}
  .hdr .wrap>a:first-child{min-width:0;flex:0 1 auto}
  .hdr .lang{font-size:13px;gap:6px;white-space:nowrap}
  .burger{padding:8px;margin-inline-end:-8px;min-width:44px;min-height:44px;display:grid;place-items:center}
}
