/* Southern Smiles - Shared Styles */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

/* Scroll reveal animation */
.reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* Brand button */
.btn-brand {
    display: inline-flex; align-items: center; gap: 0.5rem;
    padding: 0.875rem 1.75rem; background: #5bb8f0; color: #fff;
    font-family: 'Inter', system-ui, sans-serif; font-weight: 600; font-size: 0.875rem;
    border-radius: 0.5rem; text-decoration: none;
    transition: all 0.3s ease;
}
.btn-brand:hover { background: #3a9de0; box-shadow: 0 10px 25px rgba(91,184,240,0.3); transform: translateY(-2px); }

/* Outline brand button */
.btn-outline-brand {
    display: inline-flex; align-items: center; gap: 0.5rem;
    padding: 0.875rem 1.75rem; border: 2px solid #5bb8f0; color: #5bb8f0;
    font-family: 'Inter', system-ui, sans-serif; font-weight: 600; font-size: 0.875rem;
    border-radius: 0.5rem; text-decoration: none;
    transition: all 0.3s ease;
}
.btn-outline-brand:hover { background: #5bb8f0; color: #fff; transform: translateY(-2px); }

/* White button */
.btn-white {
    display: inline-flex; align-items: center; gap: 0.5rem;
    padding: 0.875rem 1.75rem; background: #fff; color: #373636;
    font-family: 'Inter', system-ui, sans-serif; font-weight: 600; font-size: 0.875rem;
    border-radius: 0.5rem; text-decoration: none;
    transition: all 0.3s ease;
}
.btn-white:hover { box-shadow: 0 10px 25px rgba(0,0,0,0.1); transform: translateY(-2px); }

/* Section label */
.section-label {
    display: inline-block; font-family: 'Inter', system-ui, sans-serif;
    font-size: 0.75rem; font-weight: 700; letter-spacing: 0.2em;
    text-transform: uppercase; color: #5bb8f0; margin-bottom: 0.75rem;
}

/* Page card */
.page-card {
    background: #fff; border-radius: 1rem; padding: 2rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05); border: 1px solid #f3f4f6;
    transition: all 0.3s ease;
}
.page-card:hover { box-shadow: 0 10px 40px rgba(0,0,0,0.08); transform: translateY(-4px); }

/* FAQ accordion */
.faq-open .faq-answer { max-height: 500px; }
