/* General Styles */

html, body {
   overflow-x: hidden;
   border: 0;
   box-sizing: border-box;
   margin: 0;
   padding: 0;
}

body {
   font-family: "Montserrat", sans-serif !important;
}

:root {
   --primary: #2B3A67;
   --secondary: #E84855;
   --third: #7ADFBB;
   --vindme: #9AAEF2;
   --gradient-primary: linear-gradient(135deg, #7ADFBB 0%, #9AAEF2 100%);
   --gradient-hero: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #7ADFBB 100%);
   --shadow-sm: 0 2px 8px rgba(43, 58, 103, 0.08);
   --shadow-md: 0 4px 20px rgba(43, 58, 103, 0.12);
   --shadow-lg: 0 8px 40px rgba(43, 58, 103, 0.16);
   --transition-normal: 0.3s ease;
}

/* Hero Section Styles */

.main-section {
   position: relative;
   height: 100vh;
   width: 100%;
   overflow: hidden;
}

.background-image {
   background-image: linear-gradient(135deg, rgba(154, 174, 242, 0.85) 0%, rgba(122, 223, 187, 0.7) 100%), url('/Assets/womans-latin-live.jpg');
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
   height: 100vh;
   display: flex;
   align-items: center;
}

.center-content {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   text-align: left;
   color: #ffffff;
   z-index: 1;
   max-width: 50%;
   height: auto;
   padding: 40px;
   background: rgba(255, 255, 255, 0.1);
   backdrop-filter: blur(10px);
   border-radius: 24px;
   border: 1px solid rgba(255, 255, 255, 0.2);
}

.center-content h1 {
   max-width: 18em;
   font-size: clamp(2.5rem, 8vh, 4rem);
   font-weight: 700;
   line-height: 1.1;
   margin-bottom: 0.8em;
   text-align: left;
   color: #ffffff;
   text-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
}

.center-content .description {
   font-weight: 400;
   font-style: normal;
   font-size: clamp(1.1rem, 2.5vw, 1.5rem);
   color: #ffffff;
   text-align: justify;
   line-height: 1.7;
   margin-bottom: 1.5rem;
}

.read {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   font-size: 1.2rem;
   font-weight: 600;
   color: #ffffff;
   background: var(--gradient-primary);
   padding: 12px 28px;
   border-radius: 50px;
   text-decoration: none;
   transition: all var(--transition-normal);
   box-shadow: var(--shadow-md);
}

.read:hover {
   transform: translateY(-3px);
   box-shadow: var(--shadow-lg);
   color: #ffffff;
}

/* Section Titles & Content */

.head-title {
   font-weight: 700;
   font-size: 2.5rem;
   color: var(--primary);
   text-align: end;
   position: relative;
}

.head-title::after {
   content: '';
   display: block;
   width: 60px;
   height: 4px;
   background: var(--gradient-primary);
   border-radius: 2px;
   margin-top: 12px;
   margin-left: auto;
}

#mision .head-title::after,
#vision .col-md-6:not(.order-md-1) .head-title::after {
   margin-left: 0;
   margin-right: auto;
}

.main-font {
   font-weight: 400;
   font-style: normal;
   font-size: 1.25rem;
   color: #4e4e4e;
   text-align: justify;
   line-height: 1.8;
}

hr {
   border: none;
   height: 2px;
   background: var(--gradient-primary);
   opacity: 0.5;
   margin: 20px 0;
}

/* Who We Are Section */
#start {
   background: linear-gradient(180deg, #ffffff 0%, #f8f9ff 100%);
}

#start .row {
   background: #ffffff;
   border-radius: 24px;
   padding: 40px;
   box-shadow: var(--shadow-md);
   border: 1px solid rgba(154, 174, 242, 0.1);
}

/* Our Story Scrolling Section */

.scrolling {
   background: linear-gradient(135deg, rgba(43, 58, 103, 0.9) 0%, rgba(43, 58, 103, 0.85) 100%), url(../Assets/cdmx.png);
   background-attachment: fixed;
   background-size: cover;
   background-position: center;
}

.background-scrolling {
   padding: 100px 0;
}

.content-banner {
   max-width: 800px;
   margin: 0 auto;
   text-align: center;
}

.title-banner {
   font-weight: 700;
   font-size: 2.8rem;
   color: var(--third);
   text-align: center;
   margin-bottom: 30px;
   position: relative;
   display: inline-block;
}

.title-banner::after {
   content: '';
   display: block;
   width: 80px;
   height: 4px;
   background: var(--third);
   border-radius: 2px;
   margin: 16px auto 0;
}

.content-banner .main-font {
   color: rgba(255, 255, 255, 0.9);
   font-size: 1.2rem;
   text-align: center;
   max-width: 700px;
   margin: 0 auto 20px;
}


/* Mission & Vision Section */

.about-us {
   background: linear-gradient(180deg, #f8f9ff 0%, #ffffff 50%, #f8f9ff 100%);
}

.about-us .featurette {
   background: #ffffff;
   border-radius: 24px;
   padding: 50px;
   box-shadow: var(--shadow-sm);
   border: 1px solid rgba(154, 174, 242, 0.1);
   transition: all var(--transition-normal);
}

.about-us .featurette:hover {
   box-shadow: var(--shadow-lg);
   transform: translateY(-5px);
}

.about-us .featurette-image {
   border-radius: 20px !important;
   box-shadow: var(--shadow-md);
   transition: all var(--transition-normal);
   object-fit: cover;
}

.about-us .featurette:hover .featurette-image {
   transform: scale(1.02);
}

#mision .head-title,
#vision .head-title {
   text-align: start;
   color: var(--secondary);
}

/* Values Section Styles */

.values-section {
   background: linear-gradient(180deg, #f8f9ff 0%, #ffffff 100%);
   padding: 80px 0;
}

.values-section .head-title {
   text-align: center;
   margin-bottom: 20px;
}

.values-section .head-title::after {
   margin: 16px auto 0;
}

.values-section hr {
   max-width: 200px;
   margin: 0 auto 40px;
}

.values-section .col {
   background: #ffffff;
   border-radius: 20px;
   padding: 30px;
   margin: 10px;
   box-shadow: var(--shadow-sm);
   border: 1px solid rgba(154, 174, 242, 0.1);
   transition: all var(--transition-normal);
}

.values-section .col:hover {
   transform: translateY(-8px);
   box-shadow: var(--shadow-lg);
}

.icon-square {
   width: 60px;
   height: 60px;
   border-radius: 16px;
   background: var(--gradient-primary);
   display: flex;
   align-items: center;
   justify-content: center;
}

.icon-square svg {
   fill: #ffffff !important;
}

.feat-title {
   margin-bottom: 15px;
   font-size: 1.5rem;
   font-weight: 700;
   color: var(--primary);
}

.feat-content {
   font-weight: 400;
   font-size: 1.1rem;
   text-align: left;
   color: #4e4e4e;
   line-height: 1.7;
}

.last-h1 {
   font-weight: 600;
   font-size: 2.3rem;
   color: var(--third);
   text-align: left;
}

.last-text {
   font-weight: 400;
   font-size: 1.4rem;
   color: #ffffff;
   text-align: justify;
}

.custom-container:hover {
   box-shadow: -10px 0 20px rgba(0, 0, 0, 0.6);
   transform: translateX(-3%) scale(1.05);
}

/* Responsive Design */

@media (min-width: 1020px) and (max-width: 1700px) {
   .center-content {
      max-width: 60%;
      padding: 35px;
   }
}

@media (max-width: 1020px) {
   .center-content {
      max-width: 90%;
      padding: 30px;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
   }
   
   .center-content h1 {
      font-size: 2rem;
   }

   .about-us .featurette {
      padding: 30px;
   }

   .about-us .featurette-image {
      height: 350px !important;
      margin-top: 30px;
   }

   .values-section .col {
      margin: 10px 0;
   }
   
   .scrolling {
      background: linear-gradient(135deg, rgba(43, 58, 103, 0.95) 0%, rgba(43, 58, 103, 0.9) 100%), url(../Assets/angel2.webp);
      background-attachment: scroll;
      background-size: cover;
   }

   .background-scrolling {
      padding: 60px 20px;
   }

   .title-banner {
      font-size: 2rem;
   }

   #start .row {
      padding: 25px;
   }
}

@media (max-width: 768px) {
   .center-content {
      max-width: 95%;
      padding: 25px;
   }

   .head-title {
      font-size: 1.8rem;
      text-align: center;
   }

   .head-title::after {
      margin: 12px auto 0;
   }

   #mision .head-title,
   #vision .head-title {
      text-align: center;
   }

   .about-us .featurette {
      text-align: center;
   }

   .values-section {
      padding: 50px 0;
   }

   .feat-title {
      font-size: 1.3rem;
   }

   .feat-content {
      font-size: 1rem;
   }
}

/* Footer Section Styles */

.footer-bg {
   background: linear-gradient(180deg, #ffffff 0%, #f7f5ff 100%);
}

#footer-section p {
   font-size: 1.1rem;
   color: #4e4e4e;
}

#footer-section h4 {
   font-weight: 600;
   color: var(--primary);
   margin-bottom: 20px;
}

#footer-section a {
   color: #4e4e4e;
   font-size: 1.1rem;
   transition: all var(--transition-normal);
}

.social-link {
   transition: all var(--transition-normal);
}

.social-link:hover {
   background: var(--gradient-primary);
   border-radius: 50%;
   transform: translateY(-3px);
}

.foot-btn:hover {
   color: var(--vindme) !important;
   text-decoration: underline;
}

.logo-v {
   transition: all var(--transition-normal);
}

.logo-v:hover {
   transform: scale(1.1);
}
