/* ===== HERO BACKGROUNDS (Tailwind can't do these) ===== */
.hero-glow-top {
    position: absolute; top: -25%; right: -15%;
    width: 65vw; height: 65vw; border-radius: 50%;
    background: radial-gradient(circle, rgba(212,147,94,0.12) 0%, transparent 65%);
}
.hero-glow-bottom {
    position: absolute; bottom: -25%; left: -10%;
    width: 55vw; height: 55vw; border-radius: 50%;
    background: radial-gradient(circle, rgba(107,42,74,0.4) 0%, transparent 65%);
}
.hero-dot-pattern {
    background-image: radial-gradient(circle at 1px 1px, rgba(235,215,194,0.06) 0.8px, transparent 0);
    background-size: 36px 36px;
}

/* ===== CTA SECTION BACKGROUNDS ===== */
.cta-dot-pattern {
    background-image: radial-gradient(circle at 1px 1px, rgba(235,215,194,0.03) 1px, transparent 0);
    background-size: 32px 32px;
}
.cta-glow {
    position: absolute; bottom: -35%; left: 50%; transform: translateX(-50%);
    width: 80vw; height: 50vw; border-radius: 50%;
    background: radial-gradient(circle, rgba(212,147,94,0.1), transparent 55%);
    pointer-events: none;
}

/* ===== VALUE CARD TOP BARS ===== */
.value-card::before {
    content: ''; position: absolute; top: 0; left: 0;
    width: 100%; height: 3px;
    transform: scaleX(0); transform-origin: left;
    transition: transform 0.4s;
}
.value-card:hover::before { transform: scaleX(1); }
.value-bar-1 { position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: #D4935E; transform: scaleX(0); transform-origin: left; transition: transform 0.4s; }
.value-bar-2 { position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: #4C1130; transform: scaleX(0); transform-origin: left; transition: transform 0.4s; }
.value-bar-3 { position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: #2D7A7A; transform: scaleX(0); transform-origin: left; transition: transform 0.4s; }
.value-bar-4 { position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: #D4952B; transform: scaleX(0); transform-origin: left; transition: transform 0.4s; }
.value-card:hover .value-bar-1,
.value-card:hover .value-bar-2,
.value-card:hover .value-bar-3,
.value-card:hover .value-bar-4 { transform: scaleX(1); }

/* ===== TIMELINE LINE ===== */
.timeline-line {
    position: absolute;
    background: linear-gradient(90deg, #4C1130, #D4935E);
    opacity: 0.2;
}
@media (min-width: 768px) {
    .timeline-line {
        top: 5px; left: 24px; right: 24px;
        height: 2px;
    }
}
@media (max-width: 767px) {
    .timeline-line {
        top: 0; bottom: 0; left: 5px;
        width: 2px;
        background: linear-gradient(180deg, #4C1130, #D4935E);
    }
}

/* ===== FAQ ACCORDION ===== */
.faq-item.active .faq-a {
    max-height: 300px;
    padding-bottom: 1.4rem;
}
.faq-item.active .faq-icon {
    background: #4C1130;
    color: #FFF8F0;
    transform: rotate(45deg);
}

/* ===== NAV SCROLLED STATE ===== */
nav.scrolled {
    background: rgba(255,248,240,0.93);
    backdrop-filter: blur(14px);
    box-shadow: 0 1px 24px rgba(76,17,48,0.06);
    padding-top: 0.85rem; padding-bottom: 0.85rem;
}
nav.scrolled .nav-logo img { filter: none !important; }
nav.scrolled #nav-links a { color: #5E4D42; }
nav.scrolled #nav-links a:hover { color: #994121; }
nav.scrolled .nav-cta {
    background: #4C1130 !important; color: #FFF8F0 !important;
    border-color: #4C1130 !important;
}
nav.scrolled .nav-cta:hover {
    background: #6B2A4A !important; border-color: #6B2A4A !important;
}
nav.scrolled #mobile-toggle span { background: #4C1130; }

/* ===== MOBILE NAV OPEN ===== */
#nav-links.open {
    display: flex !important; flex-direction: column;
    position: absolute; top: 100%; left: 0; right: 0;
    background: rgba(255,248,240,0.97);
    backdrop-filter: blur(14px);
    padding: 1.5rem 2rem 2rem;
    gap: 1.2rem;
    box-shadow: 0 12px 40px rgba(76,17,48,0.08);
}
#nav-links.open a { color: #5E4D42 !important; }
#nav-links.open a:hover { color: #994121 !important; }
#nav-links.open .nav-cta {
    background: #4C1130 !important; color: #FFF8F0 !important;
    border-color: #4C1130 !important;
}

/* ===== HERO FADE-IN ANIMATION ===== */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}
.hero-fade {
    opacity: 0;
    animation: fadeUp 0.8s ease forwards;
}
.hero-fade:nth-child(1) { animation-delay: 0.3s; }
.hero-fade:nth-child(2) { animation-delay: 0.5s; }
.hero-fade:nth-child(3) { animation-delay: 0.7s; }
.hero-fade:nth-child(4) { animation-delay: 0.9s; }
.hero-fade:nth-child(5) { animation-delay: 1.1s; }

/* ===== SCROLL REVEAL ===== */
.reveal {
    opacity: 0; transform: translateY(28px);
    transition: opacity 0.7s, transform 0.7s;
}
.reveal.visible {
    opacity: 1; transform: translateY(0);
}
