/* ── Custom base styles ───────────────────────────────────── */
html { scroll-behavior: smooth; }

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

/* Subtle gradient overlay for section backgrounds */
section {
    position: relative;
}

/* Hero image fix for mobile viewport heights */
@media (max-height: 700px) {
    .min-h-screen { min-height: 100vh; }
}

/* Custom scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0A1628; }
::-webkit-scrollbar-thumb { background: #1A3456; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #2da876; }

/* Selection color */
::selection { background: #2da876; color: #060D1F; }

/* ── Testimonial card hover ──────────────────────────────── */
.bg-midnight-50:hover {
    border-left: 3px solid #2da876;
}

/* ── Listing card image zoom wrapper ──────────────────────── */
article .aspect-\[4\/3\] {
    overflow: hidden;
}

/* ── Form focus ring animation ────────────────────────────── */
input:focus, select:focus, textarea:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(45, 168, 118, 0.15);
}

/* ── Nav active state ─────────────────────────────────────── */
#nav.scrolled {
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}

/* ── Button micro-interaction ─────────────────────────────── */
button, a {
    transition: all 0.2s ease;
}

/* ── Reduced motion ───────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .reveal { opacity: 1; transform: none; transition: none; }
    article .aspect-\[4\/3\] img { transition: none; }
    article .aspect-\[4\/3\] img:hover { transform: none; }
}

/* ── Tablet and up refinements ────────────────────────────── */
@media (min-width: 768px) {
    .bg-midnight-50:hover {
        border-left: none;
    }
}
