/* Hamilton Hamilton Properties — Custom Styles */
/* All primary styles are in index.html; this file provides additional utility and enhancement rules */

/* Base resets */
* { margin: 0; padding: 0; box-sizing: border-box; }

/* Selection color */
::selection {
    background: rgba(201, 168, 76, 0.3);
    color: #fff;
}

/* Smooth scroll offset for fixed nav */
html {
    scroll-padding-top: 80px;
}

/* Focus visible for accessibility */
:focus-visible {
    outline: 2px solid #C9A84C;
    outline-offset: 2px;
}

/* Prevent horizontal scroll */
body {
    max-width: 100vw;
    overflow-x: hidden;
}

/* Loading state for images */
img {
    opacity: 1;
    transition: opacity 0.3s ease;
}
img[data-src] {
    opacity: 0;
}

/* Print styles */
@media print {
    .navbar, .mobile-menu, #menuOverlay { display: none !important; }
    body { background: #fff; color: #000; }
    .hero-split { grid-template-columns: 1fr; min-height: auto; }
    .hero-img-overlay { display: none; }
    a { color: #000; text-decoration: underline; }
}

/* Tablet adjustments */
@media (max-width: 768px) {
    .stat-number {
        font-size: 2rem;
    }
    .hero-split {
        min-height: auto;
    }
    .hero-img-overlay {
        min-height: 40vh;
    }
}

/* Large desktop */
@media (min-width: 1280px) {
    .max-w-7xl {
        max-width: 80rem;
    }
}
