/* =================================================================
   Home Restoration Lab — Shared Stylesheet
   Extracted from the original single-page HTML.
   ================================================================= */

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes shine {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
@keyframes pulse-glow {
    0%, 100% { box-shadow: 0 0 20px rgba(6,95,70,0.2); }
    50% { box-shadow: 0 0 40px rgba(6,95,70,0.4); }
}

.fade-in-up { animation: fadeInUp 0.8s ease forwards; opacity: 0; }
.stagger-1 { animation-delay: 0.1s; }
.stagger-2 { animation-delay: 0.2s; }
.stagger-3 { animation-delay: 0.3s; }
.stagger-4 { animation-delay: 0.4s; }
.stagger-5 { animation-delay: 0.5s; }
.stagger-6 { animation-delay: 0.6s; }

.shine-effect {
    background: linear-gradient(120deg, transparent 30%, rgba(255,215,0,0.3) 50%, transparent 70%);
    background-size: 200% 100%;
    animation: shine 3s infinite;
}
.scroll-track { animation: scroll 30s linear infinite; }
.scroll-track:hover { animation-play-state: paused; }

.gradient-text {
    background: linear-gradient(135deg, #065F46 0%, #d334ab 50%, #065F46 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.card-hover { transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94); }
.card-hover:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(6,95,70,0.12); }

.nav-blur { backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); }

.faq-content { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.4s ease; }
.faq-content.open { max-height: 500px; }

.tab-btn.active { background: #065F46; color: #fff; }
.policy-section { display: none; }
.policy-section.active { display: block; }

input[type="date"]::-webkit-calendar-picker-indicator { cursor: pointer; }

.toast {
    position: fixed; bottom: 30px; right: 30px; z-index: 9999;
    transform: translateX(120%); transition: transform 0.4s ease;
}
.toast.show { transform: translateX(0); }

/* Page hero banner for inner pages (about, service, contact, etc.) */
.page-hero {
    position: relative;
    padding: 9rem 0 5rem;
    background: radial-gradient(circle at 20% 20%, rgba(6,95,70,0.10), transparent 55%),
                radial-gradient(circle at 80% 30%, rgba(211,52,171,0.10), transparent 55%),
                #0a0a0a;
    overflow: hidden;
}
.page-hero h1 { color: #fff; }
.page-hero p { color: rgba(255,255,255,0.7); }
