body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
            background-color:#fffaf3;
            overflow-y: scroll;
            height: 100vh;
            transition: background-color 0.6s, color 0.6s;
        }
        body.dark {
        background-color: #000;
        color: #fff;
        }
        nav a.dark{
         color: #fff;   
        }
          html {
            scroll-behavior: smooth; /* scroll suave */
            scroll-snap-type: y mandatory; /* Snap vertical obligatorio */
            
         }
/* Cada sección que queremos “snap” */
        section.no-snap{
            scroll-snap-align: none!important; /* desactivamos el snap para esta sección */
        }
        section.projects,
        section.project {
            scroll-snap-align: start; /* cada sección inicia en top */
            height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        section.formulario{
            height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        /* Fonts */
        
        .inter-bold {
        font-family: "Inter", sans-serif;
        font-optical-sizing: auto;
        font-weight: 900;
        font-style: normal;
        }
        header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding-left: 40px;
            padding-right: 40px;
            padding-top: 40px;
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 100;
            backdrop-filter: blur(5px);
            z-index: 1000;
            transition: transform 0.6s ease;
        }
        /* Clase que oculta el header */
        header.hidden {
            transform: translateY(-100%);
        }
        .logo {
            background-image:url("../images/impulsiteLogo.png") ;
            background-size: cover;            
            height: 165px;
            width: 175px;
        }
        .logo.dark {
            filter: invert(1);
        }
        nav{
            display:flex;
            gap: 83px;
            margin: 0 auto;
        }
        nav a {
            margin-left: 30px;
            text-decoration: none;
            color:#000;
            font-weight: bold;
            margin: 0 auto;
            font-size: 1.8em;
        }
        .loQueHacemos-text,#servicios {
        padding: 0px 40px;

        }
        .altura{
            height:350px!important;
        }
        .padding-top_160{
            padding-top:160px!important;
        }
        .loQueHacemos-text h1,.loQueHacemos-text p, #servicios h2, #servicios h3,#servicios p, .projects h2,.project-info h3, .texto-formulario h3 {
            font-size: 9.375rem;
            line-height: 9rem;
            letter-spacing: -.175rem;
            font-weight: 500;
        }
        .projects h2        {
                padding-left: 40px;
        }
        .loQueHacemos-text p{
            margin-top:0;

        }
        #servicios .servicios-item p, .project-info p{
            font-size: 2.5rem;
            line-height:3rem;
            letter-spacing: -.175rem;
            font-weight: 100;
        }
        .servicios-item {
            padding: 0px 40px;
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 1s ease-out, transform 1s ease-out;
        }
        .servicios-item.visible {
            opacity: 1;
            transform: translateY(0);
        }
 
        .fade-in {
            opacity: 0;
            transform: translateY(20px);
            animation: fadeIn 1s forwards;
        }

        /* Puedes escalonar los elementos con delay */
        .fade-in:nth-child(1) { animation-delay: 0s; }
        .fade-in:nth-child(2) { animation-delay: 0.5s; }
        .fade-in:nth-child(3) { animation-delay: 1s; }

        @keyframes fadeIn {
            to {
            opacity: 1;
            transform: translateY(0);
            }
        }       
        .servicios-item h3,.servicios-item p {
            flex-basis: calc(50% - 5px); /* Restamos la mitad del gap */
            /* Si no hay gap, usa: */
            /* flex-basis: 50%; */
            box-sizing: border-box; /* Muy importante para que el padding y el borde no afecten el ancho total */
        }
        .servicios-item p{
            align-self: center;
            padding: 0px 90px;
        }
        .loQueHacemos-text p,#servicios p  {
        font-weight: 100;
        }
        .portafolio-section {
            position: relative;
            width: 100%;
            height: 100vh;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            top: 0;
            margin-top: -60px;
        }

        .portafolio-video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 1;
        }

        .portafolio-content {
            position: relative;
            display: flex;
            width: 80%;
            height: 80%;
            z-index: 2;
        }

        .portafolio-left, .portafolio-right {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .portafolio-text {
            background: rgba(255,255,255,0.8);
            padding: 30px;
            border-radius: 10px;
            font-size: 1.2rem;
            min-height: 120px;
            max-width: 80%;
            text-align: center;
        }

        .portafolio-menu {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 30px;
        }

        .portafolio-menu li {

            padding: 0px 0px;
            color:#ffffff;
            cursor: pointer;
            font-size: 4rem;
            transition: background 0.3s;
        }

        .portafolio-menu li:hover {
      
        }
        .popup-video {
            position: absolute;
            z-index: 10;
            width: 70vw; /* 70% del ancho del viewport/body */
            max-width: none;
            background: rgba(255,255,255,0.95);
            border-radius: 12px;
            box-shadow: 0 4px 24px rgba(0,0,0,0.12);
            padding: 16px;
            pointer-events: none;
            transition: box-shadow 0.2s;
            left: 0;
            top: 0;
        }
        .popup-video video {
            width: 100%;
            border-radius: 8px;
            margin-bottom: 10px;
        }
        .popup-video-text {
            font-size: 1rem;
            color: #333;
            text-align: center;
        }
        /*proyectos*/
        .projects,.fornulario-contacto {
            display: flex;
            flex-direction: column;
            gap: 4rem; /* separación entre proyectos */
            margin: 0 auto;
            padding: 0 40px;
        }
        .project-media input, .project-media textarea {
            width: 60%;
            height: 50px;
            border-radius: 7px;
            padding: 10px;
        }
        .project-media textarea {
            height: 300px;
        }
        .projects h2 {
           margin-bottom: 0px;
        }
        .projects h3, .fornulario-contacto h3 {
            text-align: left;
            padding: 0px 0px;
            margin:0px;
        }
        .project, .formulario-contacto {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 2rem;
            flex-wrap: wrap; /* para que sea responsive */
            padding: 0px 40px;
            /* height: 100vh; */
                       
        }

        .project.reverse {
        flex-direction: row-reverse;
        }

        .project-media,.formulario {
            flex: 1 1 45%;
        }

        .project-media img,
        .project-media video {
            width: 100%;
            height: auto;
            border-radius: 1rem;
            object-fit: cover;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        }

        .project-info, .formulario {
            flex: 1 1 26%;
            padding: 0px 90px;
        }
        /*formulario*/
        #contact-form {
            display: flex;
            flex-direction: column;
            gap: 15px;
        }
        #contact-form button{
            width: 62%;
            height:60px ;
            cursor: pointer;
            border-radius: 7px;
        }
        .project-media.formulario-contacto{
            flex: 0 1 45%;
            height: auto;
        }
        form{
            width: 100%;
        }
        form label{
          font-size: 1.5rem;
        }
        /* Responsive */
        @media (max-width: 768px) {
        .project {
            flex-direction: column;
        }
        .project.reverse {
            flex-direction: column;
        }
        }

