/* ===== Custom Styles for Davida R. Thompson — Private Bank & Trust ===== */

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

/* Base */
body {
    background-color: #0a0f1a;
}

/* ===== Geometric decorative shapes ===== */
.geo-shape {
    position: absolute;
    will-change: transform;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@media (prefers-reduced-motion: no-preference) {
    .geo-shape {
        animation: float 8s ease-in-out infinite;
    }
    .geo-shape:nth-child(2) {
        animation-delay: -2s;
        animation-duration: 10s;
    }
    .geo-shape:nth-child(3) {
        animation-delay: -4s;
        animation-duration: 7s;
    }
    .geo-shape:nth-child(4) {
        animation-delay: -1s;
        animation-duration: 9s;
    }
    .geo-shape:nth-child(5) {
        animation-delay: -3s;
        animation-duration: 11s;
    }
}

@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(var(--rotate, 0deg)); }
    50% { transform: translateY(-18px) rotate(var(--rotate, 0deg)); }
}

/* ===== Scroll reveal (progressive enhancement — content visible by default) ===== */
@media (prefers-reduced-motion: no-preference) {
    .reveal {
        opacity: 0;
        transform: translateY(24px);
        transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                    transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
    .reveal.revealed {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===== Service cards ===== */
.service-card {
    transform: translateY(0);
}

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

/* ===== Header scroll state ===== */
#site-header.scrolled {
    background: rgba(10, 15, 26, 0.92);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(107, 114, 128, 0.15);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}

/* ===== Mobile menu ===== */
#mobile-menu {
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.mobile-link {
    display: block;
}

/* ===== Focus styles ===== */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
    outline: 2px solid #F97066;
    outline-offset: 2px;
}

/* ===== Input autofill override ===== */
input:-webkit-autofill,
textarea:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px #111827 inset !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

/* ===== Custom scrollbar ===== */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #0a0f1a;
}
::-webkit-scrollbar-thumb {
    background: #374151;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #4b5563;
}

/* ===== Selection ===== */
::selection {
    background: rgba(249, 112, 102, 0.3);
    color: #f3f4f6;
}
