* {
    font-family: "verdana", sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

@font-face {
  font-family: 'Hollidday';
  src: url('../../font/Hoollidday.woff') format('woff');
}

:root {
    ---fuente-1: "verdana", sans-serif;
    ---color-primario: #F5B335;
    ---color-secundario: #1B3F5F;
    ---color-terciario: #F05A24;
    ---color-cuarto: #27285B;
    ---color-quinto: #333333;
}

.nav-item a {
    color: var(---color-secundario) !important;
    font-weight: 700;
    font-size: 11px;
}

nav-link:focus,
.nav-link:hover {
    color: var(---color-terciario) !important;
}


.gradient-bg {
    background: linear-gradient(to bottom, var(---color-primario) 0%, #fff2d6 85%, #ffffff 100%);
    padding-bottom: 60px;
    position: relative;
}

.navbar {
    padding: 20px 40px;
}

.logo-navbar {
    height: 80px;
    width: 100%;
}

.quote {
    font-family: 'Hollidday', sans-serif;
    font-size: 2.5rem;
    font-weight: bold;
    color: var(---color-secundario);
}

.quote span {
    font-family: 'Hollidday', sans-serif;
    color: var(---color-terciario);
}

  .btn-custom {
color: white;
      background: #F05A24;
      background: linear-gradient(212deg, rgba(240, 90, 36, 1) 29%, rgba(245, 179, 53, 1) 72%);
      font-size: 12px;
      border: none;
      padding: 12px 24px;
      border-radius: 50px;
      font-weight: bold;
      box-shadow: 0 4px 8px rgba(0,0,0,0.2);
      transition: transform 0.3s, box-shadow 0.3s;
    }
    
    .btn-custom:hover {
        color: var(---color-cuarto);
      transform: translateY(-3px);
      box-shadow: 0 6px 12px rgba(0,0,0,0.3);
    }

/* --- IMAGEN SOBRE SVG --- */
.fade-init {
  opacity: 0;
  visibility: hidden;
  transition: opacity 4.2s ease;
}

.fade-in {
  opacity: 1;
  visibility: visible;
}

#inicio {
  min-height: 100%; /* controla la altura de la sección entera */
  display: flex;
  align-items: center;
}

.svg-container {
  position: relative;
  width: 100%;
  max-width: 650px;
  height: 650px; /* define el alto real */
  margin: auto;
}

.parent {
  position: absolute;
  top: 9px;
    left: -15px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
  background: transparent;
}

.magicpattern {
  width: 100%;
  height: 94%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;utf8,%3Csvg viewBox=%220 0 1000 1000%22 xmlns=%22http:%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cdefs%3E%3ClinearGradient id=%22b%22 gradientTransform=%22rotate(-60 .5 .5)%22%3E%3Cstop offset=%220%25%22 stop-color=%22%23F5B335%22%2F%3E%3Cstop offset=%22100%25%22 stop-color=%22%23F05A24%22%2F%3E%3C%2FlinearGradient%3E%3CclipPath id=%22a%22%3E%3Cpath fill=%22currentColor%22 d=%22M856 635.5Q717 771 556 864.5T304.5 798Q214 638 195 491t103.5-241.5Q421 155 569 191.5T856 364q139 136 0 271.5Z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg clip-path=%22url(%23a)%22%3E%3Cpath fill=%22url(%23b)%22 d=%22M856 635.5Q717 771 556 864.5T304.5 798Q214 638 195 491t103.5-241.5Q421 155 569 191.5T856 364q139 136 0 271.5Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

/* WRAPPER de la imagen para alinearla bien */
.img-wrapper {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Imagen dentro del wrapper */
.profile-img {
  width: 75%;
  max-width: 400px;
  border-radius: 50%;
  border: 3px solid white;
  object-fit: cover;
}


/* --- SOBRE MÍ --- */
.sobre-mi-section {
    background-color: #fff;
    padding: 80px 0;
    position: relative;
}

h2 {
    color: var(---color-secundario);
    font-weight: bold;
    font-size: 1.5rem;
}

h3{
    color: var(---color-quinto);
    font-weight: 400;
    font-size: 1rem;
}
/*imagenes swap*/
.img-stack {
  position: relative;
  width: 100%;
  max-width: 400px;
  margin: 0 auto 30px;
  aspect-ratio: 4 / 5;
}

.swap-img {
  position: absolute;
  width: 100%;
  height: 100%;
  max-height: 400px;
  object-fit: cover;
  border-radius: 20px;
  transition: all 0.4s ease;
  cursor: pointer;
}

/* Posiciones iniciales */
#img1 {
  top: 0;
  left: 0;
  z-index: 2;
    box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}

#img2 {
  top: 30px;
  left: 30px;
  z-index: 1;
    box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}

/* Responsive: imágenes en columna */
@media (max-width: 768px) {
  .img-stack {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .swap-img {
    position: static;
    height: auto;
    z-index: auto;
    
  }
 .profile-img{
      box-shadow: 0 6px 12px rgba(0,0,0,0.3);
      margin: 15px;
 }
  .parent{
    display: none;
  }

  .img-wrapper, .svg-container{
    height: auto;
  }
}

@media (max-width: 1002px){
    .parent{
    display: none;
  }

  .img-wrapper, .svg-container{
    height: auto;
  }
}



.navbar-toggler{
    color: var(---color-terciario)!important;
    border: none;
}

p{
    font-size: 1rem;
    color: black;
}

.titulo{
    font-size: 0.8rem;
    color: var(---color-secundario);
    font-weight: 400;
    font-style: italic;
}


/*Carousel de marcas*/

@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-250px * 3));
  }
}

.slider {
    filter: grayscale(100%);
  background: white;
  box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.125);
  height: 100px;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: 950px;
}

.slider::before,
.slider::after {
  background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
  content: "";
  height: 100px;
  position: absolute;
  width: 200px;
  z-index: 2;
}

.slider::after {
  right: 0;
  top: 0;
  transform: rotateZ(180deg);
}

.slider::before {
  left: 0;
  top: 0;
}

.slider .slide-track {
  animation: scroll 30s linear infinite;
  display: flex;
  width: calc(250px * 6); /* 14 slides total in track */
}

.slider .slide {
  height: 100px;
  width: 250px;
}
.slide{
    display: flex;
    align-items: center;
    justify-content: center;
}

.slide img{
    line-height: 100px;
}


.hideme {
  opacity: 0;
  transform: translateY(40px);
}

.showme {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.8s ease, transform 0.8s ease;
}


.card {
  border: none;

}

.card:hover{
        box-shadow: 0 6px 12px rgba(0,0,0,0.3);

}

.card.service-card:before {
  content: '';
  position: absolute;
  left: 0.625rem;
  bottom: 0.625rem;
  width: 6.25rem;
  height: 6.25rem;
 background: #27285B;
background: linear-gradient(27deg,rgba(39, 40, 91, 1) 45%, rgba(27, 63, 95, 1) 70%);
  border-radius: 1.875rem 0 0.625rem 0;
  z-index: -1;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

@media (max-width: 767.98px) {
  .card.service-card:before {
    width: 3.75rem;
    height: 3.75rem;
    border-radius: 1.25rem 0 0.5rem 0;
  }
}

.card.service-card:hover:before {
  left: -1.875rem;
  bottom: -2.1875rem;
}

@media (max-width: 767.98px) {
  .card.service-card:hover:before {
    left: -0.9375rem;
    bottom: -1.5625rem;
  }
}

.contacto-section {
  background: linear-gradient(212deg, rgba(240, 90, 36, 1) 29%, rgba(245, 179, 53, 1) 72%);
  border-radius: 5px;
  max-width: 950px;
  margin: 0 auto;
}

.custom-btn {
  border: 2px solid white;
  padding: 6px 24px;
  border-radius: 5px;
  font-weight: 600;
  transition: all 0.3s ease;
  font-size: 1rem;
}

.custom-btn:hover {
  background-color: white;
  color: #F05A24;
}



.footer-custom {
  background-color: var(---color-secundario); 
  font-weight: 700;
}

.footer-logo {
  width: 150px;
  height: 150px;
}

.footer-custom a {
  color: white;
  text-decoration: none;
  font-weight: bold;
}

.footer-custom a:hover {
  color: var(---color-terciario)!important;
  text-decoration: none;
}


.footer-custom .row > div:nth-child(2) a{
  color: white !important;
  text-decoration: none;
}

.footer-custom .row > div:nth-child(2) a:hover {
  color: var(---color-terciario)!important;
  text-decoration: none;
}

.footer-widget ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.footer-widget ul li {
  margin-bottom: 0.5rem;
}

.footer-social-icons {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 1rem;
}

.footer-social-icons a img {
  width: 32px;
  height: 32px;
}

.text-md-end .footer-widget ul {
  text-align: right;
}
