    /* ========================================
       Los Amigos — Custom Styles
       ======================================== */

    /* Base */
    *, *::before, *::after {
        box-sizing: border-box;
    }

    html {
        scroll-behavior: smooth;
        scroll-padding-top: 80px;
    }

    body {
        overflow-x: hidden;
    }

    /* Custom Scrollbar */
    ::-webkit-scrollbar {
        width: 8px;
    }
    ::-webkit-scrollbar-track {
        background: #FDFCF8;
    }
    ::-webkit-scrollbar-thumb {
        background: #8fb89a;
        border-radius: 4px;
    }
    ::-webkit-scrollbar-thumb:hover {
        background: #1B4332;
    }

    /* Typography */
    .section-eyebrow {
        font-size: 0.75rem;
        font-weight: 600;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: #8fb89a;
    }

    .section-title {
        font-family: 'Playfair Display', Georgia, serif;
        font-size: clamp(2rem, 4vw, 3.25rem);
        font-weight: 900;
        line-height: 1.1;
        color: #112a20;
        letter-spacing: -0.02em;
    }

    /* Buttons */
    .btn-primary {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        background: #1B4332;
        color: #FDFCF8;
        padding: 0.875rem 2rem;
        border-radius: 8px;
        font-weight: 600;
        font-size: 0.9375rem;
        text-decoration: none;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        border: 2px solid #1B4332;
        cursor: pointer;
    }

    .btn-primary:hover {
        background: #163629;
        border-color: #163629;
        transform: translateY(-2px);
        box-shadow: 0 8px 25px rgba(27, 67, 50, 0.3);
    }

    .btn-outline {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        background: transparent;
        color: #1B4332;
        padding: 0.875rem 2rem;
        border-radius: 8px;
        font-weight: 600;
        font-size: 0.9375rem;
        text-decoration: none;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        border: 2px solid #1B4332;
        cursor: pointer;
    }

    .btn-outline:hover {
        background: #1B4332;
        color: #FDFCF8;
        transform: translateY(-2px);
    }

    .btn-gold {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        background: #D4A017;
        color: #112a20;
        padding: 0.875rem 2rem;
        border-radius: 8px;
        font-weight: 700;
        font-size: 0.9375rem;
        text-decoration: none;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        border: 2px solid #D4A017;
        cursor: pointer;
    }

    .btn-gold:hover {
        background: #C4900F;
        border-color: #C4900F;
        transform: translateY(-2px);
        box-shadow: 0 8px 25px rgba(212, 160, 23, 0.35);
    }

    /* Navbar */
    #navbar {
        background: rgba(253, 252, 248, 0.92);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border-bottom: 1px solid rgba(143, 184, 154, 0.2);
    }

    #navbar.scrolled {
        box-shadow: 0 4px 30px rgba(27, 67, 50, 0.08);
    }

    .nav-link {
        position: relative;
    }

    .nav-link::after {
        content: '';
        position: absolute;
        bottom: -4px;
        left: 0;
        width: 0;
        height: 2px;
        background: #1B4332;
        transition: width 0.3s ease;
    }

    .nav-link:hover::after {
        width: 100%;
    }

    /* Mobile Menu */
    .mobile-nav-link {
        transition: all 0.3s ease;
    }

    .mobile-nav-link:hover {
        color: #1B4332;
        transform: scale(1.05);
    }

    /* Hero Animations */
    .hero-eyebrow {
        animation: slideUp 0.8s ease forwards;
    }

    .hero-title {
        animation: slideUp 0.8s ease 0.15s forwards;
        opacity: 0;
        transform: translateY(30px);
    }

    .hero-subtitle {
        animation: slideUp 0.8s ease 0.3s forwards;
        opacity: 0;
        transform: translateY(30px);
    }

    @keyframes slideUp {
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* Floating Card */
    .floating-card {
        animation: float 4s ease-in-out infinite;
    }

    @keyframes float {
        0%, 100% { transform: translateY(0px); }
        50% { transform: translateY(-10px); }
    }

    /* Menu Cards */
    .menu-card {
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .menu-card:hover {
        transform: translateY(-6px);
    }

    .menu-card:hover img {
        transform: scale(1.08);
    }

    /* Visit Cards */
    .visit-card {
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .visit-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 20px 50px rgba(27, 67, 50, 0.12);
    }

    /* Scroll Reveal */
    .reveal {
        opacity: 0;
        transform: translateY(40px);
        transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .reveal.revealed {
        opacity: 1;
        transform: translateY(0);
    }

    .reveal-delay-1 { transition-delay: 0.1s; }
    .reveal-delay-2 { transition-delay: 0.2s; }
    .reveal-delay-3 { transition-delay: 0.3s; }

    /* Image hover zoom wrapper */
    .overflow-hidden {
        overflow: hidden;
    }

    /* Decorative elements */
    .gold-accent {
        color: #D4A017;
    }

    /* Image aspect ratios */
    img {
        display: block;
        max-width: 100%;
    }

    /* Focus styles */
    a:focus-visible,
    button:focus-visible,
    input:focus-visible,
    textarea:focus-visible {
        outline: 2px solid #1B4332;
        outline-offset: 2px;
    }

    /* Selection */
    ::selection {
        background: #1B4332;
        color: #FDFCF8;
    }

    /* Responsive adjustments */
    @media (max-width: 768px) {
        html {
            scroll-padding-top: 70px;
        }

        .floating-card {
            display: none;
        }
    }

    @media (min-width: 769px) and (max-width: 1024px) {
        .hero-title {
            font-size: clamp(2.5rem, 5vw, 4rem);
        }
    }

    /* Print styles */
    @media print {
        #navbar,
        .floating-card,
        #contact-form {
            display: none;
        }

        body {
            color: #000;
            background: #fff;
        }
    }
