/* One responsive homepage hero. Keep the site's green/white brand theme. */
.home-desktop-header { z-index: 1020; }
body.home-page .home-facts { padding-top: 24px !important; padding-bottom: 24px !important; }
body.home-page .home-facts .counter-value { color: #15803d !important; line-height: 1.2; }
body.home-page .mobile-mentor-lumia-app { padding-top: 0; }
body.home-page .home-mobile-header { padding-top: 56px; overflow: visible; }
.home-mobile-header .m-header { position: fixed; top: 0; }
.home-hero-anchor { display: block; scroll-margin-top: 84px; }
#home.home-hero-anchor { height: 0 !important; min-height: 0 !important; aspect-ratio: auto !important; }
.home-hero { --hero-height: clamp(400px, 35vw, 520px); color: #fff; background: #142b21; }
.home-hero .carousel-inner,
.home-hero .carousel-item { height: var(--hero-height); min-height: 0; }
.home-hero .carousel-item::after { display: none; }
.home-hero .home-hero__image {
    position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0 !important;
    object-fit: cover; object-position: center;
}
.home-hero .home-hero__content {
    position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column;
    align-items: center; justify-content: center; text-align: center;
    padding: 36px 90px 56px !important;
}
.home-hero .carousel-item::before {
    content: ''; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(90deg, rgba(10, 22, 18,.65), rgba(10, 22, 18,.48), rgba(10, 22, 18,.65));
}
.home-hero .home-hero__tag {
    margin: 0 0 12px; color: #dcfce7 !important; font-size: 14px; font-weight: 600; letter-spacing: .08em;
}
.home-hero .home-hero__tag, .home-hero .home-hero__description {
    display: block !important; -webkit-line-clamp: unset !important; overflow: visible !important;
}
.home-hero .home-hero__title {
    color: #fff; max-width: 900px; font-size: clamp(32px, 3.3vw, 48px) !important; line-height: 1.2 !important;
    margin: 0 0 18px; font-weight: 700; letter-spacing: -.02em; text-wrap: balance;
}
.home-hero .home-hero__description {
    max-width: 760px; margin: 0 0 24px; color: #fff !important; font-size: 16px; line-height: 1.6;
}
.home-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.home-hero__actions .btn { padding: 11px 23px; border-radius: 5px; font-weight: 600; font-size: 14px; }
.home-hero__actions .btn-outline-light { background: rgba(15,23,42,.25); border-color: rgba(255,255,255,.75); color: #fff; }
.home-hero__actions .btn-outline-light:hover { color: #0f172a; background: #fff; }
.home-hero__note { display: block; color: #e2e8f0; font-size: 11px; margin-top: 12px; }
.home-hero__arrow {
    position: absolute; top: 50%; z-index: 2; transform: translateY(-50%); width: 42px; height: 48px;
    border: 0; border-radius: 4px; color: #fff; background: rgba(15,23,42,.5); font-size: 21px;
}
.home-hero__arrow--prev { left: 18px; }
.home-hero__arrow--next { right: 18px; }
.home-hero .carousel-indicators { margin: 0 70px 17px; gap: 6px; }
.home-hero .carousel-indicators button { width: 22px; height: 3px; margin: 0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; background-color: #fff; opacity: .6; }
.home-hero .carousel-indicators .active { opacity: 1; }
.home-hero__pause { position: absolute; z-index: 2; right: 20px; bottom: 13px; width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: #fff; background: rgba(15,23,42,.5); }
.home-hero button:focus-visible, .home-hero a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
@media (max-width: 991.98px) {
    .home-hero { --hero-height: 370px; }
    .home-hero-anchor { scroll-margin-top: 64px; }
    .home-hero .home-hero__content { padding: 24px 55px 52px !important; }
    .home-hero .home-hero__title { font-size: 32px !important; }
}
@media (max-width: 575.98px) {
    .home-hero { --hero-height: 354px; }
    .home-hero .home-hero__content { padding: 22px 34px 51px !important; }
    .home-hero .home-hero__title { font-size: 28px !important; margin-bottom: 14px !important; }
    .home-hero .home-hero__tag { display: block !important; font-size: 11px !important; line-height: 1.4 !important; margin: 0 0 10px !important; letter-spacing: .02em; }
    .home-hero .home-hero__description { display: block !important; font-size: 13px !important; line-height: 1.55 !important; margin: 0 0 19px !important; overflow: visible !important; }
    .home-hero__actions { gap: 8px; }
    .home-hero__actions .btn { padding: 10px 13px; font-size: 12px; }
    .home-hero__arrow { width: 28px; height: 40px; font-size: 17px; background: rgba(15,23,42,.32); }
    .home-hero__arrow--prev { left: 0; }
    .home-hero__arrow--next { right: 0; }
    .home-hero__note { margin-top: 9px; font-size: 10px; }
    .home-hero .carousel-indicators { margin-bottom: 10px; }
    .home-hero__pause { right: 9px; bottom: 9px; width: 30px; height: 30px; }
}
@media (max-width: 359.98px) {
    .home-hero { --hero-height: 382px; }
    .home-hero .home-hero__title { font-size: 25px !important; }
    .home-hero .home-hero__content { padding: 22px 24px 50px !important; }
}
@media (prefers-reduced-motion: reduce) { .home-hero .carousel-item { transition: none; } }
