/* Show the branded loader only when a page takes longer than the grace period. */
.site-intro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:#121613;color:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s}
.intro-pending .site-intro{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s ease,visibility 0s}
.site-intro-card{width:min(340px,100%);padding:30px 30px 26px;border:1px solid rgba(216,188,112,.35);border-radius:14px;background:#191e1a;box-shadow:0 22px 65px rgba(0,0,0,.25);text-align:center}
.site-intro-card img{width:62px;height:62px;object-fit:contain;filter:invert(1);margin:0 auto 14px}
.site-intro-card strong{display:block;font-size:20px;letter-spacing:.06em}
.site-intro-card span{display:block;margin-top:3px;color:#d8bc70;font-size:13px;letter-spacing:.04em}
.site-intro-line{height:2px;margin-top:24px;overflow:hidden;background:rgba(255,255,255,.16)}
.site-intro-line i{display:block;width:32%;height:100%;background:#d8bc70;transform:translateX(-110%);animation:bic-intro-progress 1.1s ease-in-out infinite alternate}
@keyframes bic-intro-progress{to{transform:translateX(310%)}}

/* The initial composition enters in sequence; later sections reveal on scroll. */
.motion-hero .hero-copy h1,.motion-hero .hero-copy p,.motion-hero .hero-copy .actions,
.motion-hero .hero-photo,.motion-hero .page-hero .breadcrumb,
.motion-hero .page-hero h1,.motion-hero .page-hero p{animation:bic-enter .8s cubic-bezier(.22,1,.36,1) both}
.motion-hero .hero-copy p,.motion-hero .page-hero h1{animation-delay:.1s}
.motion-hero .hero-copy .actions,.motion-hero .page-hero p{animation-delay:.2s}
.motion-hero .hero-photo{animation-delay:.25s}
@keyframes bic-enter{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:none}}
.motion-reveal{opacity:0;transform:translate3d(0,22px,0);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);transition-delay:var(--motion-delay,0ms)}
.motion-reveal.is-visible{opacity:1;transform:none}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .area-card .area-icon{transition:transform .3s ease,border-color .3s ease}
 .area-card:hover .area-icon{transform:translateY(-3px);border-color:#bc9a48}
 .logo-group .company-logo{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
 .logo-group .company-logo:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(18,22,19,.08)}
}
@media(prefers-reduced-motion:reduce){.site-intro{display:none!important}.motion-reveal{opacity:1;transform:none;transition:none}}
