/* ============================================
   Robert David Harmon — Medical Practice
   Custom Styles
   ============================================ */

/* --- Base --- */
html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

::selection {
    background-color: rgba(201, 168, 76, 0.3);
    color: #0a1628;
}

/* --- Navbar --- */
.navbar-scrolled #navbar {
    background-color: rgba(10, 22, 40, 0.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 1px 0 rgba(201, 168, 76, 0.1);
}

.navbar-scrolled .nav-text {
    color: #ffffff;
}

.navbar-scrolled .nav-link {
    color: rgba(255, 255, 255, 0.7);
}

.navbar-scrolled .nav-btn {
    color: #ffffff;
}

.navbar-default .nav-text {
    color: #ffffff;
}

.navbar-default .nav-link {
    color: rgba(255, 255, 255, 0.7);
}

.navbar-default .nav-btn {
    color: #ffffff;
}

/* --- Mobile Menu --- */
.mobile-menu-open #mobile-menu {
    opacity: 1;
    pointer-events: all;
}

.mobile-menu-open .menu-line:first-child {
    transform: rotate(45deg) translate(3px, 3px);
}

.mobile-menu-open .menu-line:last-child {
    transform: rotate(-45deg) translate(3px, -3px);
}

/* --- Hero --- */
.hero-section {
    min-height: 100vh;
    min-height: 100dvh;
}

/* --- Service Cards --- */
.service-card {
    position: relative;
    transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.service-card:hover {
    transform: translateY(-4px);
}

/* --- Approach Cards --- */
.approach-card {
    transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* --- Scroll Reveal (progressive enhancement) --- */
@media (prefers-reduced-motion: no-preference) {
    .reveal {
        opacity: 0;
        transform: translateY(24px);
        transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                    transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }

    .reveal.revealed {
        opacity: 1;
        transform: translateY(0);
    }

    .reveal-delay-1 { transition-delay: 0.1s; }
    .reveal-delay-2 { transition-delay: 0.2s; }
    .reveal-delay-3 { transition-delay: 0.3s; }
    .reveal-delay-4 { transition-delay: 0.4s; }
}

/* Reduced motion — ensure content is always visible */
@media (prefers-reduced-motion: reduce) {
    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
    
    html {
        scroll-behavior: auto;
    }
}

/* --- Form Inputs --- */
input:focus,
textarea:focus {
    box-shadow: 0 0 0 1px rgba(201, 168, 76, 0.5);
}

/* --- Smooth anchor offset --- */
section[id] {
    scroll-margin-top: 80px;
}

/* --- Print --- */
@media print {
    nav, #contact-form, .cta-pattern {
        display: none;
    }
    
    body {
        color: #000;
        background: #fff;
    }
}
