 /* ================== VARIABLES Y ESTILOS GLOBALES ================== */
        :root {
            --color-yellow: #f5b942;
            --color-dark: #121212;
            --color-black: #000000;
            --color-light-text: #ffffff;
            --color-dark-text: #111111;
            --font-heading: 'Playfair Display', serif;
            --font-body: 'Lato', sans-serif;
        }

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

        html {
            overflow-x: hidden;
            width: 100%;
        }

        body {
            font-family: var(--font-body);
            background-color: var(--color-black);
            color: var(--color-light-text);
            overflow-x: hidden;
            width: 100%;
        }

        .container { 
            max-width: 1100px; 
            margin: 0 auto; 
            padding: 0 20px; 
            width: 100%;
        }

        /* ================== ENCABEZADO Y NAVEGACIÓN ================== */
        .main-header { 
            padding: 1rem 0; 
            position: absolute; 
            width: 100%; 
            z-index: 10; 
            background: linear-gradient(to bottom, rgba(0,0,0,0.7), transparent); 
        }
        .nav-container { 
            display: flex; 
            justify-content: space-between; 
            align-items: center; 
            flex-wrap: wrap;
            gap: 15px;
        }
        .logo { 
            height: clamp(40px, 8vw, 50px); 
            width: auto;
        }
        .main-nav ul { 
            list-style: none; 
            display: flex; 
            flex-wrap: wrap;
            gap: 5px;
        }
        .main-nav ul li a { 
            color: var(--color-light-text); 
            text-decoration: none; 
            padding: 0.5rem clamp(0.5rem, 2vw, 1rem); 
            font-weight: 700; 
            text-transform: uppercase; 
            font-size: clamp(0.7rem, 2vw, 0.8rem); 
            white-space: nowrap;
        }
        .main-nav ul li a.active { 
            color: var(--color-yellow); 
        }
        .btn { 
            text-decoration: none; 
            font-weight: 700; 
            border-radius: 20px; 
            padding: 8px 20px; 
            transition: all 0.3s; 
            font-size: clamp(0.7rem, 2vw, 0.8rem);
            white-space: nowrap;
        }
        .btn-outline { 
            border: 2px solid var(--color-light-text); 
            color: var(--color-light-text); 
        }
        .btn-outline:hover { 
            background: var(--color-light-text); 
            color: var(--color-dark-text); 
        }

        /* ================== SECCIÓN DE TÍTULO (HERO ABOUT) ================== */
        .hero-about {
            position: relative;
            height: clamp(250px, 40vh, 350px);
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }
        .hero-background-container {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
        }
        .hero-bg-left, .hero-bg-center, .hero-bg-right {
            height: 100%;
        }
        .hero-bg-left, .hero-bg-right {
            flex: 1;
            background-size: cover;
            background-position: center;
            background-color: #333; /* Fallback color */
        }
        .hero-bg-center {
            flex: 0 0 min(400px, 60vw);
            display: flex;
            align-items: center;
            justify-content: center;
            background: var(--color-black);
        }
        .hero-bg-center img {
            max-height: 80%;
            max-width: 80%;
            width: auto;
            height: auto;
        }
        .hero-overlay {
            position: relative;
            z-index: 2;
            text-align: center;
            background: rgba(0,0,0,0.5);
            padding: 1rem 2rem;
            border-radius: 5px;
            width: 90%;
            max-width: 600px;
        }
        .hero-overlay h1 {
            font-family: var(--font-heading);
            font-size: clamp(2.5rem, 8vw, 4rem);
            color: var(--color-light-text);
        }

        /* ================== SECCIONES DE TEXTO (STORY & COMMITMENT) ================== */
        .story-section, .commitment-section {
            background: var(--color-black);
            padding: clamp(40px, 8vw, 80px) 0;
        }
        .text-container {
            max-width: 800px;
            text-align: center;
            margin: 0 auto;
        }
        .subtitle {
            color: var(--color-yellow);
            font-weight: 700;
            letter-spacing: 2px;
            margin-bottom: 1rem;
            text-transform: uppercase;
            font-size: clamp(0.7rem, 2vw, 0.9rem);
        }
        .text-container h2 {
            font-family: var(--font-heading);
            font-size: clamp(2rem, 6vw, 3rem);
            margin-bottom: 2rem;
        }
        .story-text p {
            color: #cccccc;
            font-size: clamp(0.9rem, 2vw, 1rem);
            line-height: 1.8;
            text-align: left;
            margin-bottom: 1.5rem;
        }
        .commitment-section p {
            color: #cccccc;
            font-size: clamp(0.9rem, 2vw, 1.1rem);
            line-height: 1.8;
            text-align: left;
        }

        /* ================== GALERÍA ================== */
        .gallery {
            width: 100%;
            overflow: hidden;
            padding: 40px 0;
            background: var(--color-dark);
        }
        .gallery-track {
            display: flex;
            width: max-content;
            animation: scrollGallery 30s linear infinite;
        }
        .gallery-track img {
            height: clamp(180px, 30vw, 250px);
            margin: 0 10px;
            border-radius: 5px;
            width: auto;
            max-width: none;
        }

        @keyframes scrollGallery {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        /* ================== FOOTER ================== */
        .main-footer {
            background-color: #111;
            padding: 2rem 0;
            font-size: clamp(0.8rem, 2vw, 0.9rem);
            color: #fff;
        }

        .footer-content {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            justify-content: center;
            align-items: center;
            text-align: center;
        }

        .social-icons {
            display: flex;
            gap: 15px;
            justify-content: center;
        }

        .social-icons a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.3s ease, color 0.3s ease;
            color: #fff;
        }

        .social-icons a:hover {
            transform: scale(1.2);
            color: #f42207;
        }

        .social-icons svg {
            width: 24px;
            height: 24px;
            fill: currentColor;
        }

        /* ================== MEDIA QUERIES ================== */
        @media (max-width: 768px) {
            .nav-container {
                flex-direction: column;
                padding: 10px 0;
            }
            
            .main-nav ul {
                justify-content: center;
            }
            
            .hero-background-container {
                flex-direction: column;
            }
            
            .hero-bg-left, .hero-bg-right {
                display: none;
            }
            
            .hero-bg-center {
                flex: 1;
                width: 100%;
            }
            
            .story-text p, .commitment-section p {
                text-align: center;
            }
        }

        @media (max-width: 480px) {
            .container {
                padding: 0 15px;
            }
            
            .hero-about {
                height: 200px;
            }
            
            .hero-overlay {
                padding: 0.8rem 1.5rem;
            }
            
            .gallery-track img {
                height: 150px;
                margin: 0 5px;
            }
            
            .story-section, .commitment-section {
                padding: 30px 0;
            }
        }

        @media (max-width: 360px) {
            .main-nav ul li a {
                font-size: 0.65rem;
                padding: 0.4rem 0.6rem;
            }
            
            .btn {
                padding: 6px 12px;
                font-size: 0.7rem;
            }
        }