/* Aleafiaa's shared interaction language: quiet, quick, and composited. */
html{scroll-behavior:smooth}
/* Content is only hidden after the head guard and is always released if motion is unavailable. */
html:not(.motion-pending):not(.motion-ready) [data-aos],body.motion-reduced [data-aos]{opacity:1!important;transform:none!important;transition:none!important}
html.motion-pending [data-aos],html.motion-ready [data-aos]:not(.motion-visible){opacity:0!important}
html.motion-pending [data-aos]{transition:none!important}
html.motion-pending .af-hero-grid>*,html.motion-pending .af-card,html.motion-pending .af-form-panel{opacity:0!important;transition:none!important}
html.motion-ready [data-aos]{transition:opacity var(--motion-slow) var(--ease-premium) var(--af-motion-delay,0ms),transform var(--motion-slow) var(--ease-premium) var(--af-motion-delay,0ms)}
html.motion-pending [data-aos="fade-up"],html.motion-ready [data-aos="fade-up"]:not(.motion-visible){transform:translate3d(0,16px,0)}
html.motion-pending [data-aos="fade-down"],html.motion-ready [data-aos="fade-down"]:not(.motion-visible){transform:translate3d(0,-16px,0)}
html.motion-pending [data-aos="fade-left"],html.motion-ready [data-aos="fade-left"]:not(.motion-visible){transform:translate3d(16px,0,0)}
html.motion-pending [data-aos="fade-right"],html.motion-ready [data-aos="fade-right"]:not(.motion-visible){transform:translate3d(-16px,0,0)}
html.motion-pending [data-aos="zoom-in"],html.motion-ready [data-aos="zoom-in"]:not(.motion-visible){transform:scale(.985)}
html.motion-ready [data-aos].motion-visible{opacity:1;transform:none}

/* A clipped media frame means image movement never changes layout. */
.motion-media-reveal,.v2-shop-card-image,.v2-article-card-media{overflow:hidden}
.v2-shop-card-image img,.v2-article-card-media img{transition:transform var(--motion-slow) var(--ease-premium)}
/* One card interaction for commerce, journal, career, leadership, contact and feature cards. */
.af-card,.af-job-card,.leadership-card,.v2-shop-card,.v2-article-card,.v2-value-card,.v2-quality-item{transition:border-color var(--motion-normal) var(--ease-premium),box-shadow var(--motion-shadow) var(--ease-premium),transform var(--motion-normal) var(--ease-premium)}
.af-card h3,.af-card h3 a,.af-job-card h3,.leadership-card .card-title,.v2-shop-card h3 a,.v2-article-card h2 a,.v2-value-card h3,.v2-quality-item strong{transition:color var(--motion-fast) var(--ease-premium)}
.v2-shop-card-price{transition:color var(--motion-fast) var(--ease-premium)}
.v2-article-byline{transition:opacity var(--motion-fast) var(--ease-premium)}
.af-card .fa-arrow-right,.af-job-card .fa-arrow-right,.leadership-card .fa-arrow-right,.v2-shop-card .fa-arrow-right,.v2-shop-card-actions i,.v2-article-card .fa-arrow-right,.af-contact-action-card-link i{transition:transform var(--motion-fast) var(--ease-premium)}
@media (hover:hover) and (pointer:fine){
  .af-card:hover,.af-job-card:hover,.leadership-card:hover,.v2-shop-card:hover,.v2-article-card:hover,.v2-value-card:hover,.v2-quality-item:hover{border-color:#c7d4e8;box-shadow:var(--hover-shadow);transform:translate3d(0,var(--hover-lift),0)}
  .af-card:hover h3,.af-card:hover h3 a,.af-job-card:hover h3,.leadership-card:hover .card-title,.v2-shop-card:hover h3 a,.v2-article-card:hover h2 a,.v2-value-card:hover h3,.v2-quality-item:hover strong{color:var(--af-blue)}
  .v2-shop-card:hover .v2-shop-card-image img{transform:scale(var(--hover-scale))}
  .v2-article-card:hover .v2-article-card-media img{transform:scale(1.03)}
  .v2-shop-card:hover .v2-shop-card-price{color:var(--af-blue)}
  .v2-article-card:hover .v2-article-byline{opacity:.72}
  .af-card:hover .fa-arrow-right,.af-job-card:hover .fa-arrow-right,.leadership-card:hover .fa-arrow-right,.v2-shop-card:hover .fa-arrow-right,.v2-shop-card:hover .v2-shop-card-actions i,.v2-article-card:hover .fa-arrow-right,.af-contact-action-card:hover .af-contact-action-card-link i{transform:translateX(4px)}
}

/* Buttons share a deliberate press response; colour remains the only reduced-motion feedback. */
.af-button,.v2-button{isolation:isolate;position:relative;transition:background-color var(--motion-button) var(--ease-premium),border-color var(--motion-button) var(--ease-premium),color var(--motion-button) var(--ease-premium),box-shadow var(--motion-button) var(--ease-premium),transform var(--motion-button) var(--ease-premium)!important}
.af-button:hover,.v2-button:hover{box-shadow:0 10px 20px rgba(31,63,135,.22);transform:translateY(-2px)}
.af-button:hover,.v2-button-primary:hover{background:#2851a4}
.v2-button-secondary:hover{background:#1f3f87}.v2-button-light:hover{background:#f5f8ff}
.af-button:active,.v2-button:active{transform:translateY(1px)}
.af-button::after,.v2-button::after{background:currentColor;border-radius:inherit;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transform:scale(.92);transition:opacity var(--motion-fast) var(--ease-premium),transform var(--motion-normal) var(--ease-premium)}
.af-button:active::after,.v2-button:active::after{opacity:.12;transform:scale(1)}

/* Navigation uses an underline instead of a competing highlight treatment. */
.af-site-nav{transition:background-color var(--motion-normal) var(--ease-premium),border-color var(--motion-normal) var(--ease-premium),box-shadow var(--motion-normal) var(--ease-premium),padding var(--motion-normal) var(--ease-premium)!important}
.af-site-nav.is-scrolled{background:rgba(255,255,255,.8)!important;border-bottom-color:rgba(219,227,239,.96)!important}
.af-site-nav .nav-link{position:relative}
.af-site-nav .nav-link::after{background:currentColor;bottom:.38rem;content:"";height:2px;left:.8rem;position:absolute;right:.8rem;transform:scaleX(0);transform-origin:left;transition:transform var(--motion-fast) var(--ease-premium)}
.af-site-nav .nav-link:hover::after,.af-site-nav .nav-link[aria-current="page"]::after{transform:scaleX(1)}
.af-site-nav .dropdown-menu{display:block;margin-top:.35rem;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity var(--motion-fast) var(--ease-premium),transform var(--motion-fast) var(--ease-premium),visibility var(--motion-fast) var(--ease-premium);visibility:hidden}
.af-site-nav .dropdown-menu.show{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}

/* Desktop-only decorative parallax is capped at twelve pixels. */
.v2-hero[data-motion-parallax] .v2-hero-visual{transform:translate3d(0,var(--af-motion-parallax,0),0);will-change:transform}
.af-contact-card-icon,.af-footer a i{transition:transform var(--motion-fast) var(--ease-premium),color var(--motion-fast) var(--ease-premium),background-color var(--motion-fast) var(--ease-premium)}
@media (hover:hover) and (pointer:fine){.af-contact-action-card:hover .af-contact-card-icon,.af-footer a:hover i{transform:rotate(2deg) scale(1.05)}}
.af-footer [data-aos]{will-change:opacity,transform}
@media (max-width:991.98px){.af-site-nav .dropdown-menu{display:none;opacity:1;pointer-events:auto;transform:none;visibility:visible}.af-site-nav .dropdown-menu.show{display:block}}
/* This two-column careers introduction stacks at mobile widths; neutralise the
   negative Bootstrap gutters there so the second full-width column cannot add a
   fractional horizontal scrollbar. */
@media (max-width:575.98px){.af-section .row.g-4.align-items-start{margin-left:0;margin-right:0}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}html.motion-ready [data-aos]{opacity:1!important;transform:none!important;transition:none!important}
  .v2-hero[data-motion-parallax] .v2-hero-visual,.af-card:hover,.af-job-card:hover,.leadership-card:hover,.v2-shop-card:hover,.v2-article-card:hover,.v2-value-card:hover,.v2-quality-item:hover,.af-button:hover,.v2-button:hover,.af-button:active,.v2-button:active{transform:none!important}
  .motion-media-reveal>img,.v2-shop-card-image img,.v2-article-card-media img,.af-card .fa-arrow-right,.af-job-card .fa-arrow-right,.leadership-card .fa-arrow-right,.v2-shop-card .fa-arrow-right,.v2-shop-card-actions i,.v2-article-card .fa-arrow-right,.af-contact-action-card-link i,.af-contact-card-icon,.af-footer a i{transform:none!important}
  .af-button,.v2-button{transition:background-color var(--motion-button) var(--ease-premium),border-color var(--motion-button) var(--ease-premium),color var(--motion-button) var(--ease-premium)!important}
}
