/* Hero carousel and product image motion. */
.hero .hero-photo {
    opacity: 0;
    transform: scale(1);
    transition: opacity 850ms ease;
    pointer-events: none;
}
.hero .hero-photo.is-active,
.hero .hero-photo.is-leaving {
    animation: hero-zoom 5.9s linear both;
}
.hero .hero-photo.is-active {
    opacity: 1;
}
@keyframes hero-zoom {
    from { transform: scale(1); }
    to { transform: scale(1.075); }
}
.hero-indicators {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 7px 9px;
    border: 1px solid #ffffff55;
    border-radius: 30px;
    background: #0e211ccc;
    backdrop-filter: blur(8px);
}
.hero-indicators button {
    position: relative;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 30px;
    background: transparent;
    cursor: pointer;
}
.hero-indicators button::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 9px;
    height: 9px;
    border-radius: 20px;
    background: #ffffff91;
    transform: translate(-50%, -50%);
    transition: width 250ms ease, background-color 250ms ease;
}
.hero-indicators button[aria-current="true"]::before {
    width: 25px;
    background: #eac16d;
}
.hero-indicators button:hover::before { background: #fff; }
.hero-indicators button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.site-header .brand img,
footer .brand img {
    width: 64px;
    height: 64px;
    border-radius: 0;
    background: white;
}
.eyebrow { font-size: 13px; color: #aa7d25; }
.hero h1 em { color: #e9c67d; }
.page-intro h1 em { color: #b3852d; }
.hero .eyebrow { color: #f1d284; }
.strengths .eyebrow { color: #f1d284; }
.checkpoints article > span,
.process span,
.region-list span { color: #a67b28; font-size: 13px; }
@media (max-width: 760px) {
    .hero-indicators { bottom: 13px; }
    .hero .hero-photo { object-position: 66% center; }
    .site-header .brand img { width: 48px; height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
    .hero .hero-photo { transition: none; }
    .hero .hero-photo.is-active,
    .hero .hero-photo.is-leaving { animation: none; }
    .hero-indicators button::before { transition: none; }
}
