/* Custom styles that complement Tailwind and index.html */

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

/* Ensure hero images render sharply */
.img-zoom img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Asymmetric hero image composition */
.hero-grid > div:last-child {
    min-height: 100vh;
}

/* Editorial serif styling refinements */
.font-serif {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

/* Subtle pattern overlay for sections */
.bg-pattern-dots {
    background-image: radial-gradient(circle, #c1775a 1px, transparent 1px);
    background-size: 24px 24px;
}

/* Print-friendly adjustments */
@media print {
    .reveal {
        opacity: 1 !important;
        transform: none !important;
    }
    .marquee-track {
        animation: none;
    }
    .card-lift {
        transform: none !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .btn-primary {
        border: 2px solid currentColor;
    }
    .btn-outline {
        border-width: 3px;
    }
}

/* Focus visible for keyboard navigation */
*:focus-visible {
    outline: 2px solid #e8552d;
    outline-offset: 2px;
}

/* Reduced motion for all animations */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    .marquee-track {
        animation: none;
    }
    .reveal {
        opacity: 1 !important;
        transform: none !important;
    }
}
