/* Minimal motion: soft scroll reveals and small natural hover wiggles. All of it is off for reduced-motion users. */
@media(prefers-reduced-motion:no-preference){
  .has-reveal [data-reveal]{opacity:0;transform:translate3d(0,26px,0);transition:opacity .7s ease-out var(--reveal-delay,0ms),transform .8s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms)}
  .has-reveal [data-reveal].is-in{opacity:1;transform:none}
  @keyframes hnfWiggle{0%,100%{transform:rotate(0)}20%{transform:rotate(-7deg)}45%{transform:rotate(5deg)}70%{transform:rotate(-3deg)}88%{transform:rotate(1.5deg)}}
  @keyframes hnfNudge{0%,100%{transform:translateY(0)}35%{transform:translateY(-6px)}65%{transform:translateY(-2px)}}
  .division-card:hover .division-icon svg{animation:hnfWiggle .7s ease-in-out}
  .exhibition-card:hover .flag{animation:hnfWiggle .7s ease-in-out}
  .whatsapp-link:hover svg{animation:hnfWiggle .6s ease-in-out}
  .footer-brand:hover img{animation:hnfWiggle .7s ease-in-out;transform-origin:50% 80%}
  .cert-link:hover .cert-mark,.cert-link:hover img{animation:hnfNudge .6s ease-in-out}
  .featured-card:hover .featured-image img{animation:hnfNudge .7s ease-in-out}
  .stat-card:hover strong,.stat-card:hover .stat-number{display:inline-block;animation:hnfNudge .6s ease-in-out}
  .header-quote:hover,.button:hover{--hnf-lift:-2px}
  .whatsapp-link{animation:hnfWiggle 1.1s ease-in-out 2.5s 2}
}
@media(prefers-reduced-motion:no-preference){.why-benefit:hover .why-icon{animation:hnfWiggle .7s ease-in-out}}

/* Divisions: one photograph per card, always visible, so each category reads at a glance */
.divisions-grid .division-card{padding:0;background:#fff;color:var(--ink);border-color:var(--line);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,border-color .3s}
.divisions-grid .division-card:hover,.divisions-grid .division-card:focus-visible{color:var(--ink);border-color:var(--indigo);transform:translateY(-6px);box-shadow:0 22px 44px -26px rgba(46,49,144,.5)}
.division-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#151c2b}
.division-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.division-card:hover .division-media img,.division-card:focus-visible .division-media img{transform:scale(1.08)}
.division-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,24,41,.28),rgba(16,24,41,0) 40%,rgba(46,49,144,.35));pointer-events:none}
.divisions-grid .division-number{position:absolute;z-index:1;top:14px;right:16px;font-family:var(--heading);font-size:12px;letter-spacing:1px;color:#fff;padding:0}
.divisions-grid .division-icon{position:absolute;z-index:1;left:20px;bottom:-1px;width:64px;height:64px;padding:12px;background:#fff;color:var(--indigo)}
.divisions-grid .division-icon svg{width:100%;height:100%}
.division-card:hover .division-icon svg{animation:hnfWiggle .7s ease-in-out}
.division-body{display:flex;flex-direction:column;flex:1;padding:26px 24px 24px}
.divisions-grid .division-card h3{margin-bottom:10px;min-height:2.14em;color:var(--ink)}
.division-range{display:block;font-family:var(--heading);font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--indigo);margin:0 0 14px;min-height:2.7em;line-height:1.35}
.divisions-grid .division-card>p,.divisions-grid .division-body>p{font-size:17px;line-height:1.5;color:#525259;margin:0 0 24px}
.divisions-grid .division-card:hover .division-action{border-color:var(--indigo)}
.divisions-grid .division-card:hover .arrow-current{transform:translate3d(26px,-26px,0)}
.divisions-grid .division-card:hover .arrow-incoming{transform:translate3d(0,0,0)}
@media(hover:none),(pointer:coarse),(max-width:767px){.divisions-grid .division-card{color:var(--ink);border-color:var(--line)}.divisions-grid .division-card>p,.divisions-grid .division-body>p{color:#525259}.divisions-grid .division-card .division-action{color:var(--indigo)}.divisions-grid .division-card .division-range{color:var(--indigo)}}
@media(max-width:1199px){.division-body{padding:22px 20px 20px}}
@media(prefers-reduced-motion:reduce){.divisions-grid .division-card,.division-media img{transition:none}.divisions-grid .division-card:hover{transform:none}.division-card:hover .division-media img{transform:none}}

/* Division cards: keep the icon visible on its white tile while hovering */
.divisions-grid .division-card:hover .division-icon,.divisions-grid .division-card:focus-visible .division-icon{color:var(--indigo)}
.divisions-grid .division-card .division-icon-accent{stroke:var(--cyan)}
.divisions-grid .division-card:hover .division-icon-accent,.divisions-grid .division-card:focus-visible .division-icon-accent{stroke:var(--cyan)}
.divisions-grid .division-card:hover .division-icon{transform:none}
.divisions-grid .division-card:hover .division-number{color:#fff}

/* Heading words rise out of a mask; photographs wipe in; featured products float gently. */
@media(prefers-reduced-motion:no-preference){
  .has-reveal .split-heading .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
  .has-reveal .split-heading .wi{display:inline-block;transform:translate3d(0,108%,0)}
  .has-reveal .split-heading.is-in .wi{transform:none;transition:transform .85s cubic-bezier(.2,.8,.2,1) calc(var(--i,0) * 70ms)}
  .has-reveal [data-reveal-img]{clip-path:inset(0 0 100% 0);transform:scale(1.04)}
  .has-reveal [data-reveal-img].is-in{clip-path:inset(0);transform:none;transition:clip-path 1.1s cubic-bezier(.65,0,.25,1),transform 1.3s cubic-bezier(.2,.8,.2,1)}
  @keyframes hnfFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
  .featured-card .featured-image{animation:hnfFloat 7s ease-in-out infinite}
  .featured-card:nth-child(2) .featured-image{animation-delay:-1.8s}
  .featured-card:nth-child(3) .featured-image{animation-delay:-3.6s}
  .featured-card:nth-child(4) .featured-image{animation-delay:-5.2s}
  .featured-card:hover .featured-image{animation-play-state:paused}
  .product-card .product-image img{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
  .product-card:hover .product-image img{transform:scale(1.05)}
  .exhibition-card .exhibition-index{transition:letter-spacing .4s}
  .exhibition-card:hover .exhibition-index{letter-spacing:3px}
  .section-label>span{animation:hnfPulse 3.4s ease-in-out infinite}
  @keyframes hnfPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.5)}}
  .button:active{transform:translateY(1px) scale(.99)}
}
