/* --- ESTILOS DE IDENTIDAD SOBERBIA Y MODERNA --- */
        :root {
            --bg-color: #0b0c0e;
            --card-bg: #121418;
            --text-primary: #ffffff;
            --text-secondary: #ffffff;
            --accent-gold: #c5a880; /* El tono cálido/madera del ejemplo */
            --border-subtle: rgba(255, 255, 255, 0.07);
        }

        body {
            background-color: var(--bg-color);
            color: var(--text-primary);
            font-family: 'Inter', sans-serif;
            overflow-x: hidden;
            font-weight: 300;
        }

        /* Tipografías Montserrat ultra ligeras para títulos */
        h1, h2, h3, h4, .font-title {
            font-family: 'Montserrat', sans-serif !important;
            letter-spacing: 0.08em;
        }

        .title-thin {
            font-weight: 100;
        }

        .title-light {
            font-weight: 200;
        }

        .title-regular {
            font-weight: 300;
        }

        .text-gold {
            color: var(--accent-gold) !important;
        }

        .letter-spacing-wide {
            letter-spacing: 0.2em;
        }

        /* --- MENÚ DE NAVEGACIÓN --- */
        .custom-navbar {
            background-color: rgba(11, 12, 14, 0.85);
            backdrop-filter: blur(15px);
            border-bottom: 1px solid var(--border-subtle);
            padding: 20px 0;
        }

        .navbar-brand {
            font-family: 'Montserrat', sans-serif;
            font-weight: 200;
            letter-spacing: 0.25em;
            font-size: 1.3rem;
        }

        .navbar-nav .nav-link {
            font-family: 'Montserrat', sans-serif;
            font-weight: 300;
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            color: var(--text-secondary) !important;
            transition: color 0.3s ease;
            padding: 5px 15px !important;
        }

        .navbar-nav .nav-link:hover, .navbar-nav .nav-link.active {
            color: var(--text-primary) !important;
        }
        
        /* Estado inicial: Transparente en la parte superior */
        .navbar-scroll-effect {
            background-color: transparent;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            /* Transición suave para el fondo, el padding y la sombra */
            transition: background-color 0.4s ease, padding 0.4s ease, box-shadow 0.4s ease; 
            padding-top: 20px;
            padding-bottom: 20px;
        }
        
        /* Estado cuando se hace Scroll (Activado por JS) */
        .navbar-scroll-effect.scrolled {
            background-color: rgba(10, 10, 10, 0.95) !important; /* Negro casi sólido */
            backdrop-filter: blur(10px); /* Efecto de desenfoque de fondo premium */
            box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
            padding-top: 12px; /* Se reduce un poco el tamaño del menú para estilizarlo */
            padding-bottom: 12px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        /* --- HERO SECTION --- */
        .hero-section {
            height: 100vh;
            background: linear-gradient(rgba(11, 12, 14, 0.8), rgba(11, 12, 14, 0.4)), 
                        url('..//img/head.jpeg') center/cover no-repeat;
            position: relative;
        }

        .hero-details-border {
            border-left: 1px solid var(--border-subtle);
            padding-left: 30px;
        }

        /* --- FILTRO DE PORTAFOLIO (Estilo Rossi) --- */
        .filter-btn {
            background: none;
            border: none;
            color: var(--text-secondary);
            font-family: 'Montserrat', sans-serif;
            font-size: 0.75rem;
            font-weight: 300;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            padding: 10px 18px;
            position: relative;
            transition: color 0.3s ease;
        }

        .filter-btn:hover, .filter-btn.active {
            color: var(--text-primary);
        }

        .filter-btn::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            width: 0;
            height: 1px;
            background-color: var(--accent-gold);
            transition: all 0.3s ease;
            transform: translateX(-50%);
        }

        .filter-btn.active::after {
            width: 60%;
        }

        /* --- TARJETAS DE PROYECTOS --- */
        .project-card {
            background-color: var(--card-bg);
            border: 1px solid var(--border-subtle);
            border-radius: 0;
            overflow: hidden;
            cursor: pointer;
            transition: border-color 0.4s ease;
        }

        .project-card:hover {
            border-color: var(--accent-gold);
        }

        .project-img-wrapper {
            position: relative;
            overflow: hidden;
            aspect-ratio: 3/2;
        }

        .project-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
        }

        .project-card:hover .project-img {
            transform: scale(1.05);
        }

        .project-meta {
            padding: 24px;
        }

        /* --- FICHA TÉCNICA LATERAL (OFFCANVAS) --- */
        .custom-offcanvas {
            background-color: var(--bg-color);
            border-left: 1px solid var(--border-subtle);
            color: var(--text-primary);
            width: 500px !important;
        }

        .offcanvas-header {
            border-bottom: 1px solid var(--border-subtle);
            padding: 30px;
        }

        .offcanvas-body {
            padding: 30px;
        }

        /* --- ARQUITECTURA MODULAR & SECCIONES --- */
        .section-padding {
            padding: 100px 0;
        }

        .border-top-subtle {
            border-top: 1px solid var(--border-subtle);
        }

        /* Inputs minimalistas de formulario */
        .form-underlined {
            background: transparent;
            border: none;
            border-bottom: 1px solid var(--border-subtle);
            border-radius: 0;
            color: var(--text-primary);
            padding: 15px 0;
            font-size: 0.9rem;
        }

        .form-underlined:focus {
            background: transparent;
            box-shadow: none;
            border-color: var(--accent-gold);
            color: var(--text-primary);
        }

        .btn-outline-gold {
            border: 1px solid var(--accent-gold);
            color: var(--text-primary);
            border-radius: 0;
            font-family: 'Montserrat', sans-serif;
            font-size: 0.8rem;
            letter-spacing: 0.15em;
            padding: 12px 30px;
            transition: all 0.3s ease;
        }

        .btn-outline-gold:hover {
            background-color: var(--accent-gold);
            color: #000;
        }