/* Lightweight, accessible motion for the MSS-Guinée site. */
.brand img,footer img,.hero-badge img{object-fit:contain}
.brand img{width:72px;height:72px}
footer img{width:74px;height:78px}
.hero-badge img{width:62px;height:62px}
.hero-photo{background-image:url('assets/security-agent-client.webp');will-change:transform;animation:photo-arrive 1.4s cubic-bezier(.2,.7,.2,1) both}
.hero-copy>*{animation:rise-in .75s both}
.hero-copy>*:nth-child(2){animation-delay:.12s}.hero-copy>*:nth-child(3){animation-delay:.22s}.hero-copy>*:nth-child(4){animation-delay:.32s}
.hero-badge{animation:badge-in .7s .4s both}
.scroll-cue{position:absolute;z-index:2;left:50%;bottom:26px;transform:translateX(-50%);display:flex;align-items:center;gap:9px;font-size:8px;letter-spacing:1.7px;color:#fff9}
.scroll-cue span{width:18px;height:28px;border:1px solid #ffffff88;border-radius:12px;position:relative}
.scroll-cue span:after{content:"";position:absolute;width:2px;height:5px;left:7px;top:5px;background:var(--gold2);animation:scroll-dot 1.3s infinite}
.hero-note i{animation:line-grow 1.1s .5s both;transform-origin:left}
.service-card{transition:transform .28s ease,background-color .28s ease,box-shadow .28s ease;padding-left:12px}
.service-card:hover{transform:translateY(-7px);background:#faf9f6;box-shadow:0 14px 24px #15202b0b}
.service-card>a{transition:transform .25s ease,color .25s ease}.service-card:hover>a{transform:translate(3px,-3px);color:var(--ink)}
.button,.nav-cta,.underlink,.backtop{transition:transform .2s ease,background-color .2s ease,color .2s ease}
.button:hover,.nav-cta:hover{transform:translateY(-2px)}
.has-motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.has-motion .reveal.is-visible{opacity:1;transform:none}
@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes photo-arrive{from{opacity:.25;transform:scale(1.05)}to{opacity:.8;transform:scale(1)}}
@keyframes badge-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes line-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes scroll-dot{0%{transform:translateY(0);opacity:1}70%{transform:translateY(9px);opacity:.2}100%{transform:translateY(0);opacity:1}}
@media(max-width:640px){.brand img{width:60px;height:62px}.hero-badge img{width:52px;height:52px}.scroll-cue{display:none}.service-card{padding-left:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.has-motion .reveal{opacity:1;transform:none}}
