/* Custom styles to complement Tailwind */

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

/* Hero decorative line animation - runs once on load */
.hero-line {
    animation: lineGrow 1.2s ease forwards;
    animation-delay: 0.5s;
    width: 0;
}

@keyframes lineGrow {
    to { width: 100%; }
}

/* Smooth image loading */
img {
    opacity: 1;
    transition: opacity 0.3s ease;
}

img[data-src] {
    opacity: 0;
}

/* Selection color */
::selection {
    background-color: rgba(13, 148, 136, 0.15);
    color: inherit;
}

/* Focus visible styles */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
    outline: 2px solid #0d9488;
    outline-offset: 2px;
    border-radius: 4px;
}

/* Subtle pattern overlay for sections */
.section-pattern {
    background-image: radial-gradient(circle at 1px 1px, rgba(13, 148, 136, 0.04) 1px, transparent 0);
    background-size: 24px 24px;
}

/* Print styles */
@media print {
    nav, #mobile-menu, #contact-form, button {
        display: none !important;
    }
    body {
        color: #000;
        background: #fff;
    }
    a[href]::after {
        content: " (" attr(href) ")";
        font-size: 0.75rem;
        color: #666;
    }
}
