/* Custom styles complementing Tailwind */
html {
    scroll-behavior: smooth;
}

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

/* Ensure all interactive elements have clear focus states */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid #5d8238;
    outline-offset: 2px;
}

/* Subtle pattern overlay for visual depth */
.bg-pattern {
    background-image: radial-gradient(circle at 1px 1px, rgba(93, 130, 56, 0.05) 1px, transparent 0);
    background-size: 24px 24px;
}

/* Gradient text utility */
.text-gradient {
    background: linear-gradient(135deg, #5d8238, #a2c27d);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #faf9f6;
}
::-webkit-scrollbar-thumb {
    background: #c7dbb2;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #a2c27d;
}

/* Image loading placeholder */
img {
    background-color: #e3edd9;
}

/* Print styles */
@media print {
    nav, #contact-form, .reveal { display: block !important; opacity: 1 !important; transform: none !important; }
    .hero-bg { background: #2f421e !important; }
    body { color: #000 !important; background: #fff !important; }
}
