/* Hotline badge (replaces old baked-in-image number) */
.hotline-badge {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    background: #bd1c1c;
    border-radius: 999px;
    padding: 6px 28px 6px 6px;
    text-decoration: none;
}
.hotline-badge__icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #fff;
    color: #bd1c1c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}
.hotline-badge__number {
    color: #fff;
    font-weight: 700;
    font-size: 26px;
    letter-spacing: .5px;
    white-space: nowrap;
}

/* Scroll reveal */
.reveal {
    opacity: 0;
    transform: translateY(36px);
    transition: opacity .7s ease, transform .7s ease;
    will-change: opacity, transform;
}
.reveal.in-view {
    opacity: 1;
    transform: none;
}
.reveal-stagger.in-view > * {
    animation: revealItem .6s ease forwards;
}
.reveal-stagger.in-view > *:nth-child(1) { animation-delay: .05s; }
.reveal-stagger.in-view > *:nth-child(2) { animation-delay: .12s; }
.reveal-stagger.in-view > *:nth-child(3) { animation-delay: .19s; }
.reveal-stagger.in-view > *:nth-child(4) { animation-delay: .26s; }
.reveal-stagger.in-view > *:nth-child(5) { animation-delay: .33s; }
.reveal-stagger.in-view > *:nth-child(6) { animation-delay: .40s; }
.reveal-stagger > * { opacity: 0; }
@keyframes revealItem {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    .reveal, .reveal-stagger > * { opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; }
}

html { scroll-behavior: smooth; }

/* Hover lift for cards, images, buttons */
.list-nc .item-inner,
.section-ldc-sg__list-item,
.library-sg__list .item,
.gallery-sg .item,
.news-item,
.faq-item {
    transition: transform .35s ease, box-shadow .35s ease;
}
.list-nc .item-inner:hover,
.section-ldc-sg__list-item:hover,
.library-sg__list .item:hover,
.gallery-sg .item:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 40px rgba(74, 14, 24, 0.25);
}

.btn, .btn-primary, .btn-outline, .button {
    transition: transform .3s ease, background-color .3s ease, color .3s ease, box-shadow .3s ease !important;
}
.btn:hover, .btn-primary:hover, .btn-outline:hover, .button:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(74, 14, 24, 0.3);
}

/* Hero entrance (title excluded: it's the LCP element, animating it delays LCP paint) */
.hero-desc, .hero-actions {
    opacity: 0;
    animation: heroIn .8s ease forwards;
}
.hero-desc { animation-delay: .3s; }
.hero-actions { animation-delay: .5s; }
@keyframes heroIn {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: none; }
}
