:root {
   /* PALETA PERSONALIZADA */
   --color1: #0EFBD8;
   --color2: #0FC0AF;
   --color3: #12BCAD;

   /* equivalencias del diseño original */
   --rich-black-fogra-29: #ffffff;
   /* títulos */
   --silver-chalice: #9ca3af;
   --floral-white: #0b0b0b;
   --raisin-black: #0f0f0f;
   --sonic-silver: #cbd5e1;
   --mango-tango: var(--color1);
   --orange-web: var(--color2);
   --cultured: #111111;
   --mantis: var(--color1);
   --gambog: var(--color3);
   --black: #000000;
   --white: #ffffff;
   --onyx: #e5e7eb;

   --gradient: linear-gradient(90deg,
         #0b0b0b 20%,
         #111111 100%);

   /* fuentes */
   --ff-poppins: "Poppins", sans-serif;
   --ff-rubik: "Rubik", sans-serif;
   --dm-sans: "DM Sans", sans-serif;

   /* tamaños */
   --fs-1: 1.875rem;
   --fs-2: 1.75rem;
   --fs-3: 1.5rem;
   --fs-4: 1.25rem;
   --fs-5: 1.125rem;

   --fw-500: 500;
   --fw-700: 700;
   --transition: 0.2s ease-in-out;
   --section-padding: 80px;

   --primary-neon: #00ffd5; /* El color aqua de tu logo */
    --text-gray: #b5b5b5;
}

/* reset */

*,
*::before,
*::after {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

li {
   list-style: none;
}

a {
   text-decoration: none;
}

a,
img,
span,
button,
ion-icon {
   display: block;
}

button {
   background: none;
   border: none;
   font: inherit;
   cursor: pointer;
}

.buttons {
   display: flex;
   gap: 15px;
   align-items: center;
   flex-wrap: wrap;
}

body, html {
    overflow-x: hidden;
}

html {
   font-size: clamp(14px, 1vw, 18px);
   scroll-behavior: smooth;
}

body {
   background: #090909;
   color: var(--white);
   font-family: var(--ff-poppins);
}

/* ESTILOS GENERALES */

.container {
   width: min(90%, 1400px);
   margin-inline: auto;
   padding-inline: 15px;
}

.btn {
   color: var(--white);
   font-family: var(--ff-poppins);
   padding: clamp(12px, 1.2vw, 20px) clamp(20px, 2vw, 30px);
   border-radius: 1rem;
   transition: var(--transition);
}

.carrito-btn {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
}

.btn-secondary {
   background: #000;
   box-shadow: inset 0 -10px 20px rgba(14, 251, 216, 0.2);
}

.btn-secondary:is(:hover, :focus) {
   background: var(--color3);
   box-shadow: 0px 8px 25px rgba(14, 251, 216, 0.35);
}

.btn-primary {
   background: var(--color1);
   color: #000;
   box-shadow: 0px 8px 25px rgba(15, 192, 175, 0.4);
}

.btn-primary:is(:hover, :focus) {
   background: var(--color3);
   color: #fff;
   transform: translateY(-3px);
   box-shadow: 0px 0px 20px rgba(14, 251, 216, 0.4);
}

.h1,
.h2,
.h3 {
   color: var(--white);
}

.h1 {
   font-size: clamp(2rem, 4vw, 4rem);
   line-height: 1.4;
   font-weight: var(--fw-700);
}

.title {
   color: var(--color1) !important;
}

.h2 {
   font-size: clamp(1.5rem, 3vw, 2.5rem);
   line-height: 1.6;
}

.h3 {
   color: var(--onyx);
   font-size: clamp(1.2rem, 2vw, 1.6rem);
   line-height: 1.3;
}

.section-text,
.card-text,
.card-subtitle {
   font-family: var(--ff-rubik);
   color: var(--sonic-silver);
   font-size: var(--fs-5);
   line-height: 1.5;
}

.vector-line {
   display: none;
}

/*  HEADER */

.header {
   padding-block: 25px;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 4;
   transition: padding var(--transition);
}

.header.active {
   background: var(--cultured);
   box-shadow: 0 1px 3px hsla(0, 0%, 0%, 0.1);
   padding-block: 20px;
}

.header .container {
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.header .logo {
   width: 130px;
}

.logo img {
   width: 100%;
}

.menu-open-btn {
   font-size: 36px;
   color: var(--mango-tango);
}

.navbar {
   position: fixed;
   top: 0;
   left: -250px;
   width: 100%;
   max-width: 250px;
   height: 100%;
   padding: 80px 20px;
   transition: 0.15s ease-in;
   background: var(--cultured);
   z-index: 3;
   
}

.navbar.active {
   left: 0;
   transition: 0.25s ease-out;
}

.menu-close-btn {
   position: absolute;
   top: 0;
   right: 0;
   font-size: 30px;
   padding: 5px;
   background: var(--cultured);
   color: var(--white);
}

.navbar .logo {
   width: 160px;
   margin-bottom: 30px;
   margin-inline: auto;
}

.navbarlist {
   margin-bottom: 15px;
}

.navbar-link {
   color: var(--rich-black-fogra-29);
   font-weight: var(--fw-500);
   padding-block: 15px;
   font-family: var(--dm-sans);
}

.overlay {
   position: fixed;
   inset: 0;
   background: hsla(0, 0%, 0%, 0.7);
   pointer-events: none;
   opacity: 0;
   transition: 0.15s ease-out;
   z-index: 3;
}

.overlay.active {
   pointer-events: all;
   opacity: 1;
}


/* INICIO */

.hero {
   background: var(--gradient);
   padding: clamp(120px, 10vw, 200px) 0 var(--section-padding);
}

.hero-banner {
   margin-bottom: 15px;
}

.hero-banner img {
   width: 100%;
}

.hero-title {
   margin-bottom: 10px;
}

.hero .section-text {
   margin-bottom: 45px;
}
/* --- Sección About --- */
.about {
    padding-block: 100px;
    background: #08080b;
    overflow: hidden;
}

.about-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 60px;
}

/* --- Banner Tecnológico --- */
.about-banner {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.tech-stack-display {
    position: relative;
    width: 100%;
    max-width: 500px;
    height: 350px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 24px;
    border: 1px solid rgba(0, 242, 234, 0.1);
    backdrop-filter: blur(10px);
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Círculo de luz neón de fondo */
.glow-circle {
    position: absolute;
    width: 250px;
    height: 250px;
    background: #00f2ea;
    filter: blur(100px);
    opacity: 0.15;
    z-index: 0;
}

/* Ventana de código tipo Mac */
.code-window {
    background: #0f0f13;
    width: 280px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
    z-index: 2;
    transform: rotate(-5deg) translateX(-20px);
}

.window-header {
    padding: 10px;
    display: flex;
    gap: 6px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.dot { width: 8px; height: 8px; border-radius: 50%; }
.red { background: #ff5f56; }
.yellow { background: #ffbd2e; }
.green { background: #27c93f; }

.code-content {
    padding: 20px;
    font-family: 'Courier New', monospace;
    font-size: 0.8rem;
    color: #a0aec0;
}

.code-content span { color: #00f2ea; }

.about-img-floating {
    position: absolute;
    width: 140px; /* Lo subimos un poco de tamaño para que tenga más presencia */
    z-index: 3;
    
    /* VALORES CORREGIDOS */
    /* Lo centramos horizontalmente y lo subimos verticalmente */
    transform: translateX(0) translateY(-20px); 
    
    filter: drop-shadow(0 0 25px rgba(0, 242, 234, 0.6)); /* Brillo más intenso */
    
    /* Ajustamos la animación para que use los nuevos valores */
    animation: floatingHJ 4s ease-in-out infinite;
}

/* Tenemos que actualizar la animación también */
@keyframes floatingHJ {
    0%, 100% { transform: translateX(0) translateY(-20px); }
    50% { transform: translateX(0) translateY(-40px); } /* Sube un poco más */
}

/* --- Botones --- */
.about-btns {
    display: flex;
    gap: 20px;
    margin-top: 30px;
    align-items: center;
}

.btn-outline-white {
    padding: 12px 25px;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 12px;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s;
}

.btn-outline-white:hover {
    background: rgba(255,255,255,0.05);
    border-color: #fff;
}

/* Responsive */
@media (max-width: 991px) {
    .about-container { grid-template-columns: 1fr; text-align: center; }
    .about-btns { justify-content: center; }
    .tech-stack-display { margin: 0 auto; }
}

.tech-stack-display {
    /* ... tus estilos anteriores ... */
    border: 1px solid rgba(0, 242, 234, 0.3);
    background: linear-gradient(135deg, rgba(255,255,255,0.03) 0%, rgba(0,242,234,0.02) 100%);
    box-shadow: 0 0 20px rgba(0, 242, 234, 0.05);
}

/* Efecto de escaneo sutil (opcional) */
.tech-stack-display::after {
    content: "";
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, transparent, rgba(0, 242, 234, 0.05), transparent);
    animation: scan 4s linear infinite;
}

@keyframes scan {
    0% { top: -100%; }
    100% { top: 100%; }
}

.about-img {
    width: 100%;
    display: block;
    transition: transform 0.5s ease;
}

.about-banner:hover .about-img {
    transform: scale(1.05);
}

.about-content {
    flex: 1;
    min-width: 350px;
}

.about-title {
    font-size: 2.5rem;
    line-height: 1.2;
    margin-bottom: 25px;
}

.about-title span {
    color: var(--primary-neon); /* Resaltar palabras clave */
}

.section-text {
    color: var(--text-gray);
    line-height: 1.8;
    margin-bottom: 35px;
    font-size: 1.1rem;
}

/* Botón Mejorado */
.btn-primary-custom {
    display: inline-block;
    background-color: var(--primary-neon);
    color: #111;
    padding: 14px 32px;
    border-radius: 8px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(0, 255, 213, 0.3);
}

.btn-primary-custom:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 255, 213, 0.5);
    background-color: #fff;
}

/* Play Button Mejorado */
.play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Centrado sobre la imagen */
    background: #fff;
    height: 70px;
    width: 70px;
    display: grid;
    place-items: center;
    font-size: 30px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    z-index: 2;
}

.play-btn::after {
    content: "";
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    border: 2px solid var(--primary-neon);
    animation: pulse 2s infinite;
}

/* --- Sección Proyectos (General) --- */
.proyectos {
    padding-block: 100px;
    background-color: #0c0c0c;
    color: #fff;
}

.proyectos-header {
    text-align: center;
    margin-bottom: 70px;
    max-width: 700px;
    margin-inline: auto;
}

.proyectos-title span {
    color: #00ffd5;
    position: relative;
    display: inline-block;
}

.proyectos-title span::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 60px;
    height: 3px;
    background-color: #00ffd5;
    border-radius: 2px;
}

.proyectos-subtitle {
    color: #999;
    font-size: 1.1rem;
    margin-top: 15px;
    line-height: 1.6;
}

/* --- Grid de Proyectos --- */
.proyectos-list {
    display: grid;
    gap: 40px;
    grid-template-columns: repeat(auto-fit, minmax(340px, 380px));
    justify-content: center; /* Centra la tarjeta si es la única */
    list-style: none;
    padding: 0;
    max-width: 1300px;
    margin: 0 auto;
}

/* --- La Tarjeta Profesional --- */
.proyectos-card-prof {
      width: 100%; /* Ocupará los 400px que le asignó el grid */
      background: #1a1a1a;
      border: 2px solid var(--color1);
      border-radius: 8px;
      overflow: hidden;
      height: 100%;
      display: flex;
      flex-direction: column;
      transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.proyectos-card-prof:hover {
    transform: translateY(-8px);
    border-color: #00ffd5;
    box-shadow: 0 15px 40px rgba(0, 255, 213, 0.15);
}

/* --- Banner e Imagen --- */
.card-banner {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    border-bottom: 1px solid #2a2a2a;
}

.img-link { display: block; width: 100%; height: 100%; }

.card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/* Overlay Aqua */
.card-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 255, 213, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.overlay-text {
    color: #000;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.85rem;
    border: 2px solid #000;
    padding: 12px 24px;
}

.proyectos-card-prof:hover .card-img { transform: scale(1.1); }
.proyectos-card-prof:hover .card-overlay { opacity: 1; }

/* --- Contenido de la Tarjeta --- */
.card-content {
    padding: 20px 25px 25px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.proyectos-card-prof .card-title {
    color: #fff;
    font-size: 1.5rem;
    margin: 0 0 12px 0;
    font-weight: 600;
}

.proyectos-card-prof .card-text {
    color: #ccc;
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 25px;
    flex-grow: 1;
}

/* --- Barra de Acción --- */
.card-action-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid #2a2a2a;
}

.card-btn-link {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #00ffd5;
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s;
}

.card-btn-link:hover { color: #fff; }
.card-btn-link:hover ion-icon { transform: translateX(5px); }

/* --- Admin Buttons --- */
.admin-actions-inline { display: flex; gap: 8px; }

.admin-btn {
    background: none;
    border: 1px solid #3a3a3a;
    color: #999;
    width: 35px;
    height: 35px;
    border-radius: 4px;
    display: grid;
    place-items: center;
    transition: 0.3s;
}

.admin-btn:hover { border-color: #fff; color: #fff; }
.admin-btn.delete:hover { background-color: #dc3545; border-color: #dc3545; color: white; }

/* --- Footer de la sección --- */
.proyectos-footer {
    text-align: center;
    margin-top: 70px;
}

.desarrolladores {
    padding-block: 100px;
    background-color: #0c0c0c;
}

.header-team {
    text-align: center;
    margin-bottom: 60px;
}

.team-title span {
    color: #00ffd5;
}

.team-grid {
    display: flex;
    justify-content: center;
    gap: 50px;
    flex-wrap: wrap;
}

/* --- Card de Equipo --- */
.team-card {
    text-align: center;
    max-width: 250px;
}

.team-avatar {
    position: relative;
    width: 200px;
    height: 200px;
    margin: 0 auto 20px;
    border-radius: 50%; /* Foto circular */
    overflow: hidden;
    filter: grayscale(100%); /* Efecto blanco y negro profesional */
    transition: all 0.4s ease;
    border: 2px solid #222;
}

.team-card:hover .team-avatar {
    filter: grayscale(0%);
    border-color: #00ffd5;
    transform: scale(1.05);
}

.team-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Redes sociales flotantes sobre la foto al hacer hover */
.team-socials {
    position: absolute;
    inset: 0;
    background: rgba(0, 255, 213, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    opacity: 0;
    transition: 0.3s ease;
}

.team-avatar:hover .team-socials {
    opacity: 1;
}

.social-icon {
    color: #000;
    font-size: 1.5rem;
    transition: 0.2s;
}

.social-icon:hover {
    transform: translateY(-3px);
}

/* --- Texto --- */
.member-name {
    color: #fff;
    font-size: 1.4rem;
    margin-bottom: 5px;
}

.member-role {
    color: #00ffd5;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* --- SECCIÓN TESTIMONIOS --- */
.testimonios {
    padding-block: 100px;
    background-color: #0c0c0c; /* Fondo oscuro igual al resto */
}

.testimonios .section-header {
    text-align: left; /* Alineado a la izquierda como tu captura */
    margin-bottom: 60px;
}

.testimonios .section-title span {
    color: var(--color1, #00ffd5); /* Color aqua */
}

.testimonios .section-subtitle {
    color: #a0a0a0;
    font-size: 1.1rem;
}

/* --- GRID Y CARDS --- */
.testimonios-grid {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.testimonio-card {
    background: #151515;
    border: 1px solid #222;
    border-radius: 15px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.testimonio-card:hover {
    border-color: var(--color1, #00ffd5);
    transform: translateY(-5px);
}

.testimonio-card .card-banner img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    filter: grayscale(30%);
}

.testimonio-card .card-content {
    padding: 30px;
}

/* Meta info (Estrellas y Fecha) */
.card-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.rating { font-size: 0.9rem; }
.date {
    color: #666;
    font-size: 0.8rem;
    text-transform: uppercase;
}

/* Texto del Testimonio */
.testimonial-text {
    color: #e0e0e0;
    font-style: italic;
    line-height: 1.6;
    margin-bottom: 25px;
    position: relative;
}

.quote-icon {
    color: var(--color1, #00ffd5);
    font-size: 2rem;
    opacity: 0.2;
    margin-bottom: 10px;
    display: block;
}

/* Info del Cliente */
.client-info {
    display: flex;
    align-items: center;
    gap: 15px;
    border-top: 1px solid #222;
    padding-top: 20px;
}

.client-avatar {
    width: 45px;
    height: 45px;
    background: var(--color1, #00ffd5);
    color: #000;
    font-weight: bold;
    border-radius: 50%;
    display: grid;
    place-items: center;
}

.client-name {
    color: #fff;
    font-size: 1rem;
    margin: 0;
}

.client-status {
    color: var(--color1, #00ffd5);
    font-size: 0.75rem;
    font-weight: 600;
}

/* Estado Vacío */
.no-testimonios {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px;
    border: 2px dashed #222;
    border-radius: 15px;
    color: #666;
}

.no-testimonios ion-icon {
    font-size: 3rem;
    margin-bottom: 15px;
    color: var(--color1, #00ffd5);
}

/* INFORMACIÓN */
.info {
   background: var(--raisin-black);
   padding-block: 50px;
}

.info-title {
   color: var(--white);
   margin-bottom: 30px;
   text-align: center;
}

.info .btn {
   margin-inline: auto;
}

.info-banner {
  width: 100%;
  max-width: 350px;
  aspect-ratio: 1/1;
}

/* Contacto */
.contacto-faq {
    padding-block: 100px;
    background-color: #0c0c0c;
}

.contacto-wrapper {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 50px;
    align-items: center;
}

/* --- Info Izquierda --- */
.contacto-info .section-title span { color: var(--color1, #00ffd5); }

.contact-list { margin-top: 30px; }

.contact-item {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    color: #a0a0a0;
}

.contact-item ion-icon {
    font-size: 1.5rem;
    color: var(--color1, #00ffd5);
}

/* --- Formulario --- */
.contacto-form {
    background: #151515;
    padding: 40px;
    border-radius: 20px;
    border: 1px solid #222;
}

.input-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.input-field {
    width: 100%;
    background: #0c0c0c;
    border: 1px solid #333;
    color: #fff;
    padding: 15px 20px;
    border-radius: 10px;
    margin-bottom: 20px;
    outline: none;
    transition: all 0.3s ease;
}

.input-field:focus {
    border-color: var(--color1, #00ffd5);
    box-shadow: 0 0 10px rgba(0, 255, 213, 0.1);
}

/* --- Select Custom --- */
.select-wrapper { position: relative; }

.select-field {
    appearance: none; /* Quita el estilo nativo */
    cursor: pointer;
}

.select-icon {
    position: absolute;
    right: 20px;
    top: 22px;
    color: var(--color1, #00ffd5);
    pointer-events: none;
}

.textarea {
    height: 120px;
    resize: none;
}

/* --- Botón Enviar --- */
.contacto-form .btn-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    background: var(--color1, #00ffd5);
    color: #000;
    padding: 15px;
    font-weight: bold;
    border-radius: 10px;
    transition: 0.3s ease;
}

.contacto-form .btn-primary:hover {
    transform: scale(1.02);
    box-shadow: 0 0 20px rgba(0, 255, 213, 0.4);
}

/* Responsive */
@media (max-width: 992px) {
    .contacto-wrapper { grid-template-columns: 1fr; }
    .input-group { grid-template-columns: 1fr; gap: 0; }
}

.alert-success-cyber {
    background: rgba(0, 242, 234, 0.1);
    border: 1px solid #00f2ea;
    color: #00f2ea;
    padding: 15px;
    border-radius: 12px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* FOOTER */
.footer {
   background: var(--floral-white);
}

.footer-top {
   padding-block: var(--section-padding);
}

.footer-brand {
   margin-bottom: 50px;
}

.footer-brand .logo {
   width: 160px;
   margin-bottom: 20px;
}

.footer-text {
   color: var(--color1);
   font-weight: bold;
   font-family: var(--ff-rubik);
   line-height: 1.8;
   margin-bottom: 30px;
}

.footer .social-list {
   display: flex;
   justify-content: flex-start;
   align-items: center;
   gap: 15px;
}

.footer .social-link {
   background: var(--raisin-black);
   color: var(--silver-chalice);
   width: 45px;
   height: 45px;
   display: grid;
   place-items: center;
   font-size: 20px;
   border-radius: 50%;
   border: 1px solid var(--raisin-black);
   transition: var(--transition);
}

.footer .social-link:is(:hover, :focus) {
   background: var(--rich-black-fogra-29);
   color: var(--cultured);
}

.footer-link-box {
   display: grid;
   gap: 30px;
}

.footer-list {
   max-width: 230px;
}

.footer-list li:first-child {
   margin-block: 10px;
}

.footer-link-title {
   color: var(--color1);
   font-family: var(--ff-poppins);
   font-size: var(--fs-4);
}

.footer-link {
   color: var(--silver-chalice);
   font-family: var(--ff-rubik);
   padding-block: 10px;
   transition: var(--transition);
}

.footer-link:is(:hover, :focus) {
   color: var(----sonic-silver);
   transform: translateX(3px);
}

.footer .contact-item {
   padding-block: 10px;
}


.footer .contact-item span {
   display: inline-block;
   color: var(--silver-chalice);
   font-family: var(--ff-rubik);
   font-weight: var(--fw-500);
}

.footer .contact-link {
   display: inline-block;
   color: var(--silver-chalice);
   font-family: var(--ff-rubik);
   font-weight: var(--fw-500);
}

.footer .contact-link address {
   font-style: normal;
}

/* copyrigtht */
.footer-botton {
   padding-block: 20px;
   border-top: 1px solid var(--onyx);
   background: var(--black);
}

.copyright {
   color: var(--silver-chalice);

   font-family: var(--ff-rubik);
   line-height: 1.7;
   text-align: center;
}

.copyright a {
   display: inline-block;
   color: inherit;
   transition: var(--transition);
}

.copyright a:is(:hover, :focus) {
   color: var(--sonic-silver);
}


/* GO TO TOP */

.go-top {
   position: fixed;
   bottom: 20px;
   right: 20px;
   background-color: var(--mango-tango);
   width: 30px;
   height: 30px;
   display: grid;
   place-items: center;
   color: var(--white);
   font-size: 25px;
   box-shadow: 0 1px 2px hsla(0, 0%, 0%, 0.3);
   opacity: 0;
   visibility: hidden;
   transition: var(--transition);
   z-index: 2;
}

.go-top.active {
   opacity: 1;
   visibility: visible;
}

.go-top:is(:hover, :focus) {
   color: var(--black);
}

/* MEDIA QUERIES */

/* resposive 550px */
@media(min-width: 400) {

   /* HEADER */
   .header .logo {
      max-width: 170px;
   }

   /* proyectos */

   .proyectos-card {
      padding: 30px;
   }

   .info-banner {
      display: block;
      background: url("../img/logo_diseño2.png") no-repeat;
      background-size: contain;
      background-position: center;
      width: 100%;
      max-width: 400px;
      aspect-ratio: 1/1;
      margin-inline: auto;
      left: 51%;
      bottom: -26px;
   }

   /* desarrolladores footer */
   .desarrolladores-list,
   .footer-link-box {
      grid-template-columns: 1fr 1fr;
   }

}

/* resposive 768px */
@media(min-width: 768px) {

   /* hero Acerca de */
   .hero-banner,
   .about-banner {
      max-width: 600px;
      margin-inline: auto;
   }

   /* proyectos */
   .proyectos-title {
      max-width: 600px;
      margin-inline: auto;
   }

   /* desarrolladores */
   .desarrolladores-title {
      max-width: 600px;
      margin-inline: auto;
   }

   /* informacion */
   .info {
      position: relative;
      z-index: 1;
   }

   .info .title-wrapper {
         max-width: 60%;
   }

   .info-banner {
      display: block;
      background: url("../img/logo_diseño2.png") no-repeat;
      background-size: contain;
      background-position: center;
      width: 100%;
      max-width: 400px;
      aspect-ratio: 1/1;
      margin-inline: auto;
      left: 51%;
      bottom: -26px;
   }

   .footer-text {
      max-width: 400px;
   }

}

/* resposive 1024px */
@media(min-width: 1024px) {

   .vector-line {
      display: block;
      position: absolute;
   }

   /* HEADER */

   .header .logo {
      margin-right: 25px;
   }

   .menu-open-btn,
   .menu-close-btn,
   .navbar .logo {
      display: none;
   }

   .navbar {
      position: static;
      max-width: unset;
      height: unset;
      background: none;
      padding: 0;
      display: flex;
      justify-content: space-between;
      align-items: center;
   }

   .navbar-list {
      margin-bottom: 0;
      display: flex;
      justify-content: baseline;
      align-items: center;
   }

   .navbar-link {
      position: relative;
      font-size: var(--fs-5);
      padding: 20px 25px;
   }

   .navbar-link::after {
      --scale: 0;
      content: "";
      position: absolute;
      bottom: 15px;
      left: 50%;
      transform: translateX(-50%) scale(var(--scale));
      background: var(--mango-tango);
      width: 40px;
      height: 2px;
      border-radius: 2px;
      opacity: 0.5;
      transition: var(--transition);
   }

   .navbar-link:is(:hover, :focus)::after {
      --scale: 1;
   }

   .overlay {
      display: none;
   }

   /* HERO */
   .hero .container {
      display: grid;
      grid-template-columns: 6fr 6fr;
      align-items: center;
      gap: 50px;
   }

   .hero-banner {
      margin-bottom: 0;
      order: 1;
   }

   /* Acerca de */
   .about .container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      gap: 50px;
   }

   .about-banner {
      position: relative;
      margin-bottom: 0;
   }

   .about-banner .vector-line {
      width: 400px;
      bottom: 50px;
      left: -50px;
   }

   .play-btn {
      width: 100px;
      height: 100px;
   }

   .about-content {
      max-width: unset;
   }

   /* proyectos */

   .proyectos {
      position: relative;
      z-index: 1;
   }

   .proyectos .vector-line {
      top: 100px;
      right: 0;
      z-index: -1;
   }

   .proyectos-title {
      max-width: 550px;
   }

   .proyectos-card {
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: flex-start;
   }

   /* desarrolladores */

   .desarrolladores {
      position: relative;
      z-index: 1;
   }

   .desarrolladores .vector-line:first-child {
      top: 50px;
      left: 0;
      z-index: -1;
   }

   .desarrolladores .title-wrapper {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-inline: 0;
   }

   .desarrolladores .desarrolladores-title {
      max-width: 500px;
      margin-bottom: 0px;
      margin-inline: 0;
      text-align: left;
   }

   .desarrolladores .btn {
      margin-inline: 0;
   }

   .desarrolladores .vector-line:last-child {
      bottom: -100px;
      left: 0;
      z-index: -1;
   }

   /* Informacion */

   .info .title-wrapper {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
   }

   .info-title {
      position: relative;
      margin-bottom: 0;
      width: calc(100% - 200px);
      margin-inline: 0;
      text-align: left;
   }

   .info-title .vector-line {
      right: -20px;
      bottom: 0;
   }

   .info-banner {
      position: absolute;
      right: 5%;
      bottom: -20px;
   }

   /* footer */

   .footer-link-box {
      grid-template-columns: repeat(4, 1fr);
   }

}

/* resposive 1200 */
@media(min-width: 1200px) {

   .proyectos-title {
      max-width: 550px;
   }

   /* desarrolladores */
   .desarrolladores {
      padding-bottom: 150px;
   }

   /* informacion */
   .info .title-wrapper {
      max-width: 64%;
   }

   .info-banner {
      left: 68%;
   }
}

@media (min-width: 1600px) {
  .container {
    width: min(85%, 1600px);
  }

  .hero {
    padding: 200px 0;
  }

}

