/* Global box-sizing reset */
*, *::before, *::after { box-sizing: border-box; }

/* Global resets and typography */
html, body { overflow-x: hidden; width: 100%; }
body { font-family: "Montserrat", sans-serif; background-color: #fff; color: #ffffff; margin: 0; padding: 0; min-height: 100vh; overflow:hidden; }
.lh-custom { line-height: 1.85; }

/* Premium Scrollbar */
* { scrollbar-width: thin; scrollbar-color: #1d5da8 #080c14; }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #080c14; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #28abe3 0%, #1d5da8 100%); border-radius: 20px; border: 2px solid #080c14; transition: 0.3s; }
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #35b8f2 0%, #28abe3 40%, #1d5da8 100%); }

/* Page Layout - Card style mockup matching screenshot */
.page-wrapper { display: flex; align-items: center; justify-content: center; min-height: 100vh; width: 100%; max-width: 100%; padding: 2.5vh 2vw; }
.main-content-wrapper {}
.hero-card { position: relative; width: 100%; height: 95vh; border-radius: 40px; overflow: hidden; box-shadow: 0 25px 60px rgba(0, 0, 0, 0.6); display: flex; flex-direction: column; }

/* Background video & gradient overlay */
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.hero-overlay { position: absolute; inset: 0; z-index: 2; background: linear-gradient( 180deg, rgba(8, 12, 20, 0.25) 0%, rgba(8, 12, 20, 0.1) 40%, rgba(8, 12, 20, 0.85) 100% ); pointer-events: none; }

/* Custom Navigation bar with glass effect */
.navbar-custom { position: fixed; top: 2.5vh; left: 2vw; width: calc(100% - 4vw); z-index: 1000; padding: 2rem 3.5rem; display: flex; align-items: center; justify-content: space-between; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); border-radius: 40px 40px 0 0; }
.navbar-custom.scrolled { top: 0; left: 0; width: 100%; border-radius: 0; padding: 1.2rem 3.5rem; background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); box-shadow: 0 8px 25px rgba(8, 12, 20, 0.06); border-bottom: 1px solid rgba(8, 12, 20, 0.08); }
.navbar-custom.scrolled .navbar-brand img { filter: none; }

/* Nav Pill Menu adjustments in scrolled state */
.navbar-custom.scrolled .nav-pill-container { background: rgba(8, 12, 20, 0.04); border-color: rgba(8, 12, 20, 0.08); box-shadow: none; }
.navbar-custom.scrolled .nav-pill-item:not(:last-child) { border-right-color: rgba(8, 12, 20, 0.12); }
.navbar-custom.scrolled .nav-pill-link { color: rgba(8, 12, 20, 0.7); }
.navbar-custom.scrolled .nav-pill-link:hover, .navbar-custom.scrolled .nav-pill-link.active { color: #1d5da8; text-shadow: none; }

/* Contact Button in scrolled state */
.navbar-custom.scrolled .btn-nav-contact { background: #1d5da8; border-color: #1d5da8; color: #ffffff; backdrop-filter: none; -webkit-backdrop-filter: none; }
.navbar-custom.scrolled .btn-nav-contact:hover { background: #184a9e; border-color: #184a9e; transform: translateY(-2px); color: #ffffff; box-shadow: 0 4px 12px rgba(29, 93, 168, 0.25); }

/* Language select in scrolled state */
.navbar-custom.scrolled .lang-select { color: #0b0e14; border-color: rgba(8, 12, 20, 0.2); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='black' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E"); }
.navbar-brand img { height: 30px; filter: brightness(0) invert(1); transition: transform 0.3s ease; }
.navbar-brand img:hover { transform: scale(1.04); }
.navbar-collapse-custom { justify-content: space-between; margin-left: 3rem; }

/* Glassmorphism Navigation Menu Pill */
.nav-pill-container { list-style: none; margin: 0; padding: 0.45rem 1.2rem; background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 50px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); display: flex; align-items: center; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15); }
.nav-pill-item { display: flex; align-items: center; }
.nav-pill-item:not(:last-child) { border-right: 1px solid rgba(255, 255, 255, 0.25); }
.nav-pill-link { color: rgba(255, 255, 255, 0.8); text-transform: uppercase; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.05em; text-decoration: none; padding: 0.4rem 1.05rem; transition: all 0.3s ease; }
.nav-pill-link:hover, .nav-pill-link.active { color: #ffffff; text-shadow: 0 0 12px rgba(255, 255, 255, 0.4); }

/* Right header action layout */
.right-actions { display: flex; align-items: center; gap: 1.5rem; }

/* Contactarnos button (Header version) */
.btn-nav-contact { background: rgba(255, 255, 255, 0.25); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 50px; color: #ffffff; text-transform: uppercase; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.05em; padding: 0.65rem 1.6rem; text-decoration: none; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.btn-nav-contact:hover { background: rgba(255, 255, 255, 0.38); border-color: rgba(255, 255, 255, 0.3); transform: translateY(-2px); color: #ffffff; box-shadow: 0 5px 15px rgba(255, 255, 255, 0.15); }

/* Language selector matching mockup */
.lang-select-wrapper { position: relative; display: inline-block; }
.lang-select { background: transparent; border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 4px; color: #ffffff; font-weight: 700; font-size: 0.78rem; padding: 0.45rem 2.2rem 0.45rem 0.75rem; cursor: pointer; appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='white' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; transition: all 0.3s; }
.lang-select:focus, .lang-select:hover { outline: none; border-color: rgba(255, 255, 255, 0.75); }
.lang-select option { color: #0b0e14; background: #ffffff; }

/* Hero Content Area - aligned bottom-left */
.hero-content-wrapper { position: absolute; bottom: 8%; left: 6%; max-width: 75%; z-index: 5; text-align: left; display: flex; flex-direction: column; align-items: flex-start; }
.hero-main-title { color: #ffffff; font-size: clamp(1.8rem, 3.8vw, 2rem); font-weight: 800; line-height: 1.15; text-transform: uppercase; margin-bottom: 0.6rem; letter-spacing: -0.01em; opacity: 0; }
.hero-subtitle { color: rgba(255, 255, 255, 0.8); font-size: clamp(0.85rem, 1.4vw, 1.1rem); font-weight: 500; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 2.2rem; opacity: 0; }

/* Large Hero Contact Button */
.btn-hero-contact { background: rgba(255, 255, 255, 0.35); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 50px; color: #ffffff; text-transform: uppercase; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.05em; padding: 0.85rem 2.2rem; text-decoration: none; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); display: inline-block; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); opacity: 0; }
.btn-hero-contact:hover { background: #ffffff; color: #080c14; border-color: #ffffff; transform: translateY(-3px); box-shadow: 0 8px 25px rgba(255, 255, 255, 0.35); }

/* Animations */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in-up { animation: fadeInUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.delay-1 { animation-delay: 0.15s; }
.delay-2 { animation-delay: 0.35s; }
.delay-3 { animation-delay: 0.55s; }

/* Services Section */
.services-section { background-color: #ffffff; padding: 6rem 0; color: #0b0e14; }
.section-title { font-family: "Montserrat", sans-serif; font-size: 1.5rem; font-weight: 750; text-transform: uppercase; letter-spacing: 0.06em; color: #8c9096; margin-bottom: 3.5rem; }
.service-card { background: #ffffff; border: 1.5px solid #eceff2; border-radius: 28px; box-shadow: 0 12px 35px rgba(8, 12, 20, 0.04); padding: 2.2rem; height: 100%; display: flex; flex-direction: column; justify-content: space-between; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); text-decoration: none; }
.service-card:hover { transform: translateY(-8px); box-shadow: 0 24px 50px rgba(8, 12, 20, 0.08); border-color: #d2d8e0; }
.card-top-content { display: flex; flex-direction: column; align-items: flex-start; margin-bottom: 2rem; }
.service-icon { height: 52px; width: auto; margin-bottom: 1.5rem; transition: transform 0.3s ease; }
.service-card:hover .service-icon { transform: scale(1.06); }
.service-card-title { font-size: 0.85rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.02em; color: #000000; line-height: 1.4; margin: 0; }
.service-image-container { width: 100%; border-radius: 20px; overflow: hidden; aspect-ratio: 4 / 3; }
.service-image { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
.service-card:hover .service-image { transform: scale(1.05); }

/* News Section */
.news-section { background-color: #ffffff; padding: 3rem 0 6rem 0; color: #0b0e14; }

/* News Section Carousel Styles */
.novedades-carousel-wrapper { position: relative; width: 100%; max-width: 1300px; margin: 0 auto; display: flex; align-items: center; justify-content: center; }
.novedades-carousel-container { overflow: hidden; width: 100%; padding: 30px 0; }
.novedades-carousel-track { display: flex; transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1); }
.novedades-carousel-slide { flex: 0 0 60%; padding: 0 20px; opacity: 0.45; transform: scale(0.9); filter: blur(1.5px); transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1); }
.novedades-carousel-slide.active { opacity: 1; transform: scale(1); filter: blur(0); }
.novedades-card { border-radius: 20px; overflow: hidden; background-color: #a4a5a7; box-shadow: 0 15px 35px rgba(8, 12, 20, 0.12); border: none; display: flex; flex-direction: column; height: 100%; }
.novedades-card-image-wrapper { position: relative; width: 100%; height: 380px; overflow: hidden; }
.novedades-card-image { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.novedades-card-image-overlay { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, rgba(29, 93, 168, 0.9) 0%, rgba(29, 93, 168, 0.4) 65%, transparent 100%); padding: 30px 40px; display: flex; align-items: center; justify-content: center; }
.novedades-card-image-text { color: #ffffff; font-size: 1.15rem; font-weight: 500; text-align: center; margin: 0; line-height: 1.45; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35); }
.novedades-card-body { background-color: #a4a5a7; padding: 25px 40px; color: #ffffff; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255, 255, 255, 0.1); flex-direction: column; }
.novedades-card-body-content { flex: 1; }
.novedades-card-title { font-size: 1.05rem; font-weight: 800; color: #ffffff; margin: 0 0 10px 0; text-transform: uppercase; letter-spacing: 0.03em; line-height: 1.4; }
.novedades-card-excerpt { font-size: 0.82rem; font-weight: 400; color: rgba(255, 255, 255, 0.92); margin: 0; line-height: 1.5; }
.novedades-card-body-actions { display: flex; align-items: center; }
.btn-novedades-more { color: #ffffff; font-weight: 700; font-size: 0.8rem; text-decoration: none; text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 2px solid #ffffff; padding-bottom: 3px; transition: all 0.3s; white-space: nowrap; }
.btn-novedades-more:hover { color: #0b0e14; border-color: #0b0e14; }
.carousel-nav-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; background-color: rgba(235, 237, 240, 0.85); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 10; transition: all 0.3s ease; color: #5a5c60; box-shadow: 0 4px 15px rgba(8, 12, 20, 0.1); border: none; }
.carousel-nav-btn:hover { background-color: #ffffff; color: #1d5da8; transform: translateY(-50%) scale(1.08); box-shadow: 0 6px 20px rgba(8, 12, 20, 0.16); }
.carousel-nav-btn.prev-btn { left: 17%; }
.carousel-nav-btn.next-btn { right: 17%; }

/* Institutional Section (Blue Polygon Banner) 
.about-banner-section { background: url('../img/about-banner-section.avif'),linear-gradient(135deg, #071f3a 0%, #1d5da8 100%); position: relative; overflow: hidden; background-position: right; background-repeat: no-repeat; background-size: contain; }*/
.about-banner-section { position: relative; overflow: hidden; background: #1D5DA8; }
.about-banner-section::before { content: ""; position: absolute; width: 740px; height: 900px; left: 40%; background: linear-gradient(135deg, #0C3A5B 0%, #1D5DA8 100% ); clip-path: polygon(48% 0, 100% 50%, 52% 100%, 0 51% ); top: 50%; transform: translate(-50%, -50%); z-index: 1; }
.about-text-col { display: flex; align-items: center; padding: 6.5rem 7rem; position: relative; z-index: 2; }
.about-content { max-width: 720px; }
.about-title { font-family: 'Montserrat', sans-serif; font-size: 2.15rem; font-weight: 800; color: #ffffff; line-height: 1.25; margin-bottom: 2.5rem; letter-spacing: -0.01em; }
.about-description { font-family: 'Montserrat', sans-serif; font-size: 0.94rem; font-weight: 500; color: rgba(255, 255, 255, 0.88); line-height: 1.8; margin: 0; text-align: justify; }
.about-image-col { position: relative; min-height: 480px; }
.about-image-wrapper { position: absolute; top: 0; left: 0; width: 100%; height: 100%; clip-path: polygon(89.1% 0%, 100% 14.4%, 100% 75.7%, 87.8% 99.9%, 21.6% 99.9%, 0% 51.8%, 29.5% 0%); }
.about-image { width: 100%; height: 100%; object-fit: cover; }

/* Certifications Section */
.certifications-section { background-color: #ffffff; padding: 6rem 0 5rem 0; border-bottom: 1.5px solid #eceff2; }
.certifications-logos-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 30px; margin-top: 3.5rem; }
.cert-logo-item { flex: 1; min-width: 120px; max-width: 180px; display: flex; align-items: center; justify-content: center; }
.cert-logo { max-width: 100%; height: auto; max-height: 60px; filter: none; opacity: 1; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.cert-logo:hover { transform: scale(1.05); }

/* Footer Section */
.footer-section { background-color: #1d5da8; padding: 1rem 3.5rem; border-radius: 28px 28px 0 0; box-shadow: 0 -15px 40px rgba(8, 12, 20, 0.05); }
.footer-container { width: 100%; }
.footer-logo { height: 25px; width: auto; filter: brightness(0) invert(1); transition: transform 0.3s ease; }
.footer-logo:hover { transform: scale(1.02); }
.footer-info-wrapper { display: flex; align-items: center; justify-content: space-around; flex-wrap: wrap; gap: 20px; }
.footer-info-item { display: flex; align-items: center; gap: 10px; color: #ffffff; }
.info-icon { display: flex; align-items: center; justify-content: center; color: #ffffff; }
.info-text { font-family: 'Montserrat', sans-serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.02em; }
.social-link-btn { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 8px; background-color: transparent; border: 1.5px solid rgba(255, 255, 255, 0.4); margin-left: 10px; transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.social-link-btn:hover { background-color: #ffffff; border-color: #ffffff; transform: translateY(-3px); }
.social-icon { width: 18px; height: 18px; filter: brightness(0) invert(1); transition: filter 0.3s ease; }
.social-link-btn:hover .social-icon { filter: invert(30%) sepia(57%) saturate(1750%) hue-rotate(190deg); /* Brand blue on hover */; }

/* Inner Page Spacing & Navigation Overrides */
.inner-page-spacer { height: 89px; width: 100%; background-color: #ffffff; display: block; }
.navbar-custom.inner-nav { top: 0; left: 0; width: 100%; border-radius: 0; padding: 1.2rem 3.5rem; box-shadow: 0 8px 25px rgba(8, 12, 20, 0.06); border-bottom: 1px solid #eaeaea; }
.navbar-custom.inner-nav .navbar-brand img { filter: none; }

@keyframes mobileDropdownFadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}
.navbar-custom .dropdown-item { font-family: 'Montserrat', sans-serif; font-size: 0.76rem; font-weight: 700; text-transform: uppercase; color: rgba(255, 255, 255, 0.8); padding: 0.6rem 1.2rem; border-radius: 8px; transition: all 0.25s ease; letter-spacing: 0.02em; }
.dropdown-item.active, .dropdown-item:active { color: #fff!important; }
.navbar-custom.scrolled .dropdown-item, .navbar-custom.inner-nav .dropdown-item { color: rgba(8, 12, 20, 0.7); }
.navbar-custom .dropdown-item:hover { background-color: rgba(255, 255, 255, 0.15); color: #ffffff; }
.navbar-custom.scrolled .dropdown-item:hover, .navbar-custom.inner-nav .dropdown-item:hover { background-color: rgba(29, 93, 168, 0.08); color: #1d5da8; }
.navbar-custom .dropdown-toggle::after { display: inline-block; margin-left: 0.45em; vertical-align: 0.255em; content: ""; border-top: 0.3em solid; border-right: 0.3em solid transparent; border-bottom: 0; border-left: 0.3em solid transparent; transition: transform 0.3s ease; }
.navbar-custom .dropdown-toggle.show::after { transform: rotate(180deg); }

/* Dropdown Sub-items styling */
.navbar-custom .dropdown-parent-link { font-weight: 750; }
.navbar-custom .dropdown-subitem { font-size: 0.72rem; font-weight: 600; padding: 0.35rem 0.8rem; color: rgba(255, 255, 255, 0.65); display: flex; align-items: center; gap: 0.5rem; text-transform: uppercase; border-radius: 6px; }
.navbar-custom .dropdown-subitem .sub-bullet { color: #00c0f3; font-size: 0.85rem; line-height: 1; }
.navbar-custom .dropdown-subitem:hover { color: #ffffff; background-color: rgba(255, 255, 255, 0.1); }
.navbar-custom.scrolled .dropdown-subitem, .navbar-custom.inner-nav .dropdown-subitem { color: rgba(8, 12, 20, 0.6); }
.navbar-custom.scrolled .dropdown-subitem:hover, .navbar-custom.inner-nav .dropdown-subitem:hover { color: #1d5da8; background-color: rgba(29, 93, 168, 0.05); }
.navbar-custom .dropdown-divider { border-color: rgba(255, 255, 255, 0.15); }
.navbar-custom.scrolled .dropdown-divider, .navbar-custom.inner-nav .dropdown-divider { border-color: rgba(8, 12, 20, 0.08); }

/* Quienes Somos Sections */
.about-hero { position: relative; height: 10vh; min-height: 100px; background: #080c14; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 0 0 40px 40px; }
.about-hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; opacity: 0.65; }
.about-hero-overlay { position: absolute; inset: 0; background: linear-gradient(0deg, #071f3a 0%, #1d5da8 100%);; z-index: 2; pointer-events: none; }
.about-hero-content { position: relative; z-index: 3; text-align: center; padding: 0 1rem; }
.about-hero-title { font-family: 'Montserrat', sans-serif; font-size: clamp(2rem, 4vw, 2rem); font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; color: #ffffff; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5); margin: 0; }
.about-intro-section { padding: 6rem 0; background-color: #ffffff; color: #4a5568; }
.about-intro-section h1, .about-intro-section h2, .about-intro-section h3, .about-intro-section h4 { color: #1d5da8; }
.about-intro-subtitle { font-family: 'Montserrat', sans-serif; font-size: 1.6rem; font-weight: 700; color: #1d5da8; line-height: 1.4; margin-bottom: 2rem; }
.about-intro-text { font-family: 'Montserrat', sans-serif; font-size: 1.05rem; font-weight: 400; color: #4a5568; line-height: 1.85; text-align: justify; }
.about-video-section { position: relative; height: 50vh; min-height: 350px; background-color: #000; overflow: hidden; }
.about-video-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; opacity: 0.6; pointer-events: none; }
.about-video-overlay { position: absolute; inset: 0; background: rgba(8, 12, 20, 0.4); z-index: 2; pointer-events: none; }
.about-video-play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 3; display: flex; align-items: center; justify-content: center; width: 80px; height: 80px; border-radius: 50%; background: rgba(255, 255, 255, 0.2); border: 2px solid #ffffff; backdrop-filter: blur(10px); color: #ffffff; text-decoration: none; transition: all 0.3s ease; }
.about-video-play-btn:hover { transform: translate(-50%, -50%) scale(1.1); background: #ffffff; color: #1d5da8; box-shadow: 0 0 30px rgba(255, 255, 255, 0.4); }
.about-video-play-btn svg { width: 32px; height: 32px; fill: currentColor; }
.about-partner-section { padding: 6rem 0; background-color: #f7fafc; color: #4a5568; border-bottom: 1px solid #e2e8f0; }
.about-partner-section h1, .about-partner-section h2, .about-partner-section h3, .about-partner-section h4 { color: #080c14; }
.about-partner-title { font-family: 'Montserrat', sans-serif; font-size: 2rem; font-weight: 800; text-transform: uppercase; color: #080c14; letter-spacing: 0.02em; }
.about-partner-subtitle { font-family: 'Montserrat', sans-serif; font-size: 1.1rem; font-weight: 500; color: #718096; margin-bottom: 4rem; }
.about-icon-box { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 20px; padding: 3rem 2rem; text-align: center; transition: all 0.3s ease; height: 100%; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02); }
.about-icon-box:hover { transform: translateY(-5px); box-shadow: 0 12px 20px rgba(0, 0, 0, 0.05); border-color: #1d5da8; }
.about-icon-img { width: 70px; height: 70px; object-fit: contain; margin-bottom: 1.75rem; }
.about-icon-title { font-family: 'Montserrat', sans-serif; font-size: 0.95rem; font-weight: 700; color: #080c14; line-height: 1.4; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; }
.about-destacado-section { padding: 6rem 0; background: linear-gradient(135deg, #071f3a 0%, #1d5da8 100%); color: #ffffff; }
.about-destacado-box { height: 100%; padding: 2rem; }
.about-destacado-title { font-family: 'Montserrat', sans-serif; font-size: 1.8rem; font-weight: 800; text-transform: uppercase; color: #28abe3; margin-bottom: 1.5rem; letter-spacing: 0.05em; }
.about-destacado-text { font-family: 'Montserrat', sans-serif; font-size: 1.15rem; font-weight: 500; line-height: 1.75; margin: 0; color: #ffffff; }
.about-valores-section { padding: 6rem 0; background-color: #ffffff; color: #4a5568; }
.about-valores-section h1, .about-valores-section h2, .about-valores-section h3, .about-valores-section h4 { color: #080c14; }
.about-valores-title { font-family: 'Montserrat', sans-serif; font-size: 2rem; font-weight: 800; text-transform: uppercase; text-align: center; color: #080c14; letter-spacing: 0.05em; margin-bottom: 4rem; }
.about-val-box { text-align: center; padding: 2rem 1.5rem; height: 100%; transition: all 0.3s ease; }
.about-val-img { width: 64px; height: 64px; object-fit: contain; margin-bottom: 1.5rem; }
.about-val-title { font-family: 'Montserrat', sans-serif; font-size: 1.05rem; font-weight: 700; color: #080c14; text-transform: uppercase; margin: 0; }
.about-sost-section { padding: 6rem 0; background-color: #f7fafc; color: #4a5568; border-top: 1px solid #e2e8f0; }
.about-sost-section h1, .about-sost-section h2, .about-sost-section h3, .about-sost-section h4 { color: #080c14; }
.about-sost-title { font-family: 'Montserrat', sans-serif; font-size: 2rem; font-weight: 800; text-transform: uppercase; color: #080c14; letter-spacing: 0.05em; margin-bottom: 2.5rem; }
.about-sost-text { font-family: 'Montserrat', sans-serif; font-size: 1.05rem; font-weight: 500; color: #4a5568; line-height: 1.8; margin-bottom: 1.5rem; }
.about-sost-list { list-style: none; padding: 0; margin: 2rem 0 0 0; }
.about-sost-list-item { font-family: 'Montserrat', sans-serif; font-size: 1.05rem; font-weight: 700; color: #1d5da8; margin-bottom: 1rem; display: flex; align-items: center; }
.about-sost-list-item::before { content: "•"; color: #28abe3; font-size: 1.5rem; margin-right: 10px; line-height: 1; }
.texto_contacto { font-size: 0.85rem; color: #555555; }
.contacto_btn { background-color: #1d5da8; border-color: #1d5da8; letter-spacing: 0.05em; }
.contact-section .mapa { height: 300px; }
.contact-section .items { background-color: #f8fafc; }
.contact-section .items h4 { color: #0e2b4f; font-size: 1.15rem; }
.contact-section .items .text-primary { font-size: 1.25rem; }
.contact-section .items .text-primary { font-size: 1.25rem; }
.contact-section .items .text-primary + div > strong { color: #0e2b4f; font-size: 0.9rem; display:block; }
.contact-section .items .text-primary + div > span { font-size: 0.85rem; color: var(--bs-secondary-color) !important; }

/* ==========================================================================
   UX PRELOADER STYLING & ANIMATIONS
   ========================================================================== */
#preloader { position: fixed; inset: 0; width: 100vw; height: 100vh; background-color: #080c14; /* Deep premium blue-black */ z-index: 999999; display: flex; align-items: center; justify-content: center; transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
#preloader.fade-out { opacity: 0; visibility: hidden; }
.preloader-content { display: flex; flex-direction: column; align-items: center; gap: 2rem; }

/* Premium size for preloader logo */
.preloader-logo { width: clamp(200px, 18vw, 280px); height: auto; }

/* Force white logotype text on dark background for high-contrast/premium feel */
.preloader-logo path { fill: #ffffff; opacity: 0; transform: translateY(8px); animation: preloaderPathReveal 1s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

/* Delay paths for a smooth sequential draw effect */
.preloader-logo path:nth-child(1) { animation-delay: 0.1s; }
.preloader-logo path:nth-child(2) { animation-delay: 0.14s; }
.preloader-logo path:nth-child(3) { animation-delay: 0.18s; }
.preloader-logo path:nth-child(4) { animation-delay: 0.22s; }
.preloader-logo path:nth-child(5) { animation-delay: 0.26s; }
.preloader-logo path:nth-child(6) { animation-delay: 0.3s; }
.preloader-logo path:nth-child(7) { animation-delay: 0.34s; }
.preloader-logo path:nth-child(8) { animation-delay: 0.38s; }
.preloader-logo path:nth-child(9) { animation-delay: 0.42s; }
.preloader-logo path:nth-child(10) { animation-delay: 0.46s; }
.preloader-logo path:nth-child(11) { animation-delay: 0.5s; fill: #2cabe2 !important; }
.preloader-logo path:nth-child(13) { animation-delay: 0.54s; }
.preloader-logo path:nth-child(14) { animation-delay: 0.58s; }
.preloader-logo path:nth-child(12) { animation-delay: 0.65s; }

/* Loader bar */
.preloader-bar { width: 140px; height: 2px; background: rgba(255, 255, 255, 0.08); border-radius: 4px; position: relative; overflow: hidden; }
.preloader-bar-progress { position: absolute; top: 0; left: 0; height: 100%; width: 0; background: linear-gradient(90deg, #2cabe2, #1d5da8); animation: preloaderProgressFill 1.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

/* Preloader Keyframes */
@keyframes preloaderPathReveal {
    to { opacity: 1; transform: translateY(0); }
}

@keyframes preloaderAccentPop {
    to { opacity: 1; transform: scale(1) rotate(0deg); }
}

@keyframes preloaderProgressFill {
    to { width: 100%; }
}

/* Custom Triquim Utility Helper Classes */
.text-brand-blue { color: #1d5da8 !important; }
.text-brand-cyan { color: #28abe3 !important; }
.text-brand-dark { color: #0e2b4f !important; }
.text-brand-dark-deep { color: #080c14 !important; }
.text-brand-gray { color: #4a5568 !important; }
.font-montserrat { font-family: 'Montserrat', sans-serif !important; }
.letter-spacing-05 { letter-spacing: 0.05em !important; }
.line-height-185 { line-height: 1.85 !important; }
.border-brand-subtle { border-color: rgba(29, 93, 168, 0.15) !important; }

/* Custom Product Tabs for APIs (Humano / Veterinario) */
.custom-product-tabs-wrapper { display: flex; justify-content: center; margin-bottom: 2.5rem; }
.custom-product-tabs { gap: 0.5rem; background: #f1f5f9; padding: 0.4rem; border-radius: 50px; display: inline-flex; border: 1px solid #e2e8f0; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03); }
.custom-product-tabs .nav-item { margin: 0; }
.custom-product-tabs .nav-link { border-radius: 40px; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.04em; padding: 0.65rem 1.8rem; color: #64748b; background: transparent; border: none; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); display: inline-flex; align-items: center; gap: 0.5rem; }
.custom-product-tabs .nav-link svg { transition: transform 0.3s ease; }
.custom-product-tabs .nav-link:hover { color: #1d5da8; background: rgba(255, 255, 255, 0.7); }
.custom-product-tabs .nav-link.active { background: #1d5da8; color: #ffffff; box-shadow: 0 4px 15px rgba(29, 93, 168, 0.28); }
.custom-product-tabs .nav-link.active svg { transform: scale(1.1); }

/* Product table placeholder card */
.product-table-placeholder { background: #f8fafc; border: 1.5px dashed #cbd5e1; border-radius: 24px; padding: 3rem 2rem; transition: all 0.3s ease; }
.product-table-placeholder:hover { border-color: #1d5da8; background: #f1f7ff; }
.placeholder-badge { display: inline-flex; align-items: center; gap: 0.4rem; background: rgba(29, 93, 168, 0.1); color: #1d5da8; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; padding: 0.35rem 1rem; border-radius: 30px; margin-bottom: 1.2rem; }

/* Human Products Table Styling */
.human-products-table-wrapper { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 30px rgba(8, 12, 20, 0.04); }
.custom-product-table { margin-bottom: 0; }
.custom-product-table thead th { background: #0e2b4f; color: #ffffff; font-family: 'Montserrat', sans-serif; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 1.1rem 1.25rem; border-bottom: none; white-space: nowrap; }
.custom-product-table tbody tr { transition: background-color 0.2s ease; }
.custom-product-table tbody tr:hover { background-color: rgba(29, 93, 168, 0.04); }
.custom-product-table tbody td { padding: 1rem 1.25rem; font-size: 0.92rem; color: #334155; border-bottom: 1px solid #f1f5f9; vertical-align: middle; }
.custom-product-table .product-name { font-family: 'Montserrat', sans-serif; font-weight: 700; color: #0e2b4f; font-size: 0.95rem; }
.badge-spec { display: inline-block; padding: 0.35rem 0.75rem; border-radius: 30px; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.badge-spec-ep { background: rgba(29, 93, 168, 0.12); color: #1d5da8; border: 1px solid rgba(29, 93, 168, 0.25); }
.badge-spec-usp { background: rgba(0, 192, 243, 0.12); color: #008eb5; border: 1px solid rgba(0, 192, 243, 0.3); }
.badge-spec-gmp { background: rgba(100, 116, 139, 0.1); color: #475569; border: 1px solid rgba(100, 116, 139, 0.2); }
.badge-dmf { display: inline-flex; align-items: center; gap: 0.35rem; background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; padding: 0.3rem 0.75rem; border-radius: 30px; font-size: 0.75rem; font-weight: 600; }
.btn-table-inquire { background: #1d5da8; color: #ffffff !important; font-family: 'Montserrat', sans-serif; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; padding: 0.45rem 1.1rem; border-radius: 30px; text-decoration: none; transition: all 0.25s ease; display: inline-flex; align-items: center; gap: 0.35rem; border: none; }
.btn-table-inquire:hover { background: #00c0f3; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 192, 243, 0.3); }

/* Veterinary Families Cards */
.vet-family-card { background: #ffffff; border: 1.5px solid #e2e8f0; border-radius: 20px; padding: 1.75rem; height: 100%; display: flex; flex-direction: column; transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: 0 4px 15px rgba(8, 12, 20, 0.03); }
.vet-family-card:hover { border-color: #1d5da8; transform: translateY(-3px); box-shadow: 0 12px 30px rgba(29, 93, 168, 0.1); }
.vet-family-header { display: flex; align-items: center; gap: 0.85rem; margin-bottom: 1.2rem; padding-bottom: 0.85rem; border-bottom: 1px solid #f1f5f9; }
.vet-family-icon { width: 42px; height: 42px; border-radius: 12px; background: rgba(29, 93, 168, 0.08); color: #1d5da8; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.vet-family-title { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 1.05rem; color: #0e2b4f; margin: 0; line-height: 1.35; }
.vet-pills-container { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.vet-pill { display: inline-block; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 30px; padding: 0.4rem 0.9rem; font-size: 0.85rem; font-weight: 600; color: #334155; transition: all 0.2s ease; }
.vet-pill:hover { background: #f0f7ff; border-color: #93c5fd; color: #1d5da8; transform: translateY(-1px); }

/* Custom CTA Banner */
.custom-api-cta { background: linear-gradient(135deg, #0e2b4f 0%, #1d5da8 100%); border-radius: 22px; padding: 2.75rem 2rem; color: #ffffff; box-shadow: 0 15px 35px rgba(14, 43, 79, 0.18); }

/* Portfolio Disclaimer Card */
.portfolio-disclaimer-card { background: #f8fafc; border: 1.5px solid #e2e8f0; border-radius: 18px; box-shadow: 0 4px 15px rgba(8, 12, 20, 0.02); transition: all 0.25s ease; }
.portfolio-disclaimer-card:hover { border-color: #cbd5e1; box-shadow: 0 6px 20px rgba(8, 12, 20, 0.04); }

/* CMO / CDMO Services Presentation */
.cmo-box { background: #f0f7fd; border: 1.5px solid #d0e3f7; border-radius: 24px; box-shadow: 0 8px 25px rgba(29, 93, 168, 0.04); transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.cmo-box:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(29, 93, 168, 0.1); border-color: #93c5fd; }
.cdmo-box { background: linear-gradient(145deg, #0a2544 0%, #0e3b6d 100%); border: 1.5px solid rgba(0, 192, 243, 0.35); border-radius: 24px; box-shadow: 0 12px 35px rgba(10, 37, 68, 0.25); transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.cdmo-box:hover { transform: translateY(-4px); box-shadow: 0 18px 45px rgba(0, 192, 243, 0.22); border-color: #00c0f3; }
.cmo-pill-dark { display: inline-flex; align-items: center; justify-content: center; background: #0a2544; color: #ffffff; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 0.88rem; letter-spacing: 0.05em; padding: 0.4rem 1.3rem; border-radius: 30px; }
.cdmo-pill-cyan { display: inline-flex; align-items: center; justify-content: center; background: #00c0f3; color: #0a2544; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 0.88rem; letter-spacing: 0.05em; padding: 0.4rem 1.3rem; border-radius: 30px; }
.cmo-subtag { font-size: 0.8rem; letter-spacing: 0.08em; color: #1d5da8; text-transform: uppercase; font-weight: 700; }
.cdmo-subtag { font-size: 0.8rem; letter-spacing: 0.08em; color: #7dd3fc; text-transform: uppercase; font-weight: 700; }
.cyan-bullet { width: 9px; height: 9px; border-radius: 50%; background: #00c0f3; flex-shrink: 0; margin-top: 6px; box-shadow: 0 0 6px rgba(0, 192, 243, 0.5); }
.cyan-bullet-bright { width: 9px; height: 9px; border-radius: 50%; background: #00e5ff; flex-shrink: 0; margin-top: 6px; box-shadow: 0 0 8px rgba(0, 229, 255, 0.85); }
.text-white-90 { color: rgba(255, 255, 255, 0.92); }
.cmo-prop-card { background: #f8fafc; border: 1.5px solid #e2e8f0; border-radius: 18px; box-shadow: 0 4px 15px rgba(8, 12, 20, 0.02); transition: all 0.25s ease; }
.cmo-prop-card:hover { background: #ffffff; border-color: #93c5fd; transform: translateY(-3px); box-shadow: 0 10px 25px rgba(29, 93, 168, 0.07); }
.cmo-scale-banner { background: linear-gradient(135deg, #f0f7ff 0%, #e0f2fe 100%); border: 1.5px solid #bae6fd; border-radius: 20px; box-shadow: 0 6px 20px rgba(0, 192, 243, 0.08); }

/* ==========================================================================
   RESPONSIVE MEDIA QUERIES
   ========================================================================== */

@media (min-width: 992px) {
    /* Desktop Dropdown menu for glass pill navigation */
    .navbar-custom .dropdown-menu { background: rgba(8, 12, 20, 0.95); border: 1px solid rgba(255, 255, 255, 0.15); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); border-radius: 16px; padding: 0.8rem; box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4); margin-top: 15px !important; min-width: 280px; }
    .navbar-custom.scrolled .dropdown-menu, .navbar-custom.inner-nav .dropdown-menu { background: #ffffff; border-color: rgba(8, 12, 20, 0.1); box-shadow: 0 10px 30px rgba(8, 12, 20, 0.08); }
}

@media (max-width: 1200px) {
    .navbar-custom { padding: 1.5rem 2.5rem; }
    .navbar-collapse-custom { margin-left: 0; }
    .nav-pill-link { padding: 0.4rem 0.8rem; font-size: 0.75rem; }
    .right-actions { gap: 0.8rem; }
}

@media (max-width: 991px) {
    .page-wrapper { padding: 0; }
    .hero-card { border-radius: 0; height: 100vh; border: none; }
    .navbar-custom { position: fixed; top: 0; left: 0; width: 100%; border-radius: 0; padding: 1.2rem 1.5rem; background: linear-gradient(180deg, rgba(8, 12, 20, 0.8) 0%, rgba(8, 12, 20, 0) 100%); }
    .navbar-custom.scrolled, .navbar-custom.inner-nav { padding: 1rem 1.5rem; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); box-shadow: 0 8px 25px rgba(8, 12, 20, 0.06); border-bottom: 1px solid rgba(8, 12, 20, 0.08); }
    .navbar-custom.scrolled .navbar-brand img, .navbar-custom.inner-nav .navbar-brand img { filter: none; }
    .navbar-custom.scrolled .navbar-toggler, .navbar-custom.inner-nav .navbar-toggler { border-color: rgba(8, 12, 20, 0.15); background: rgba(8, 12, 20, 0.04); }
    .navbar-custom.scrolled .navbar-toggler svg, .navbar-custom.inner-nav .navbar-toggler svg { stroke: #0b0e14; }
    .navbar-custom.scrolled .navbar-collapse-custom, .navbar-custom.inner-nav .navbar-collapse-custom { background: #ffffff; border-bottom: 1px solid #eaeaea; box-shadow: 0 15px 30px rgba(8, 12, 20, 0.08); }

    /* Standard Bootstrap-compatible hamburger trigger */
    .navbar-toggler { display: block; border-color: rgba(255, 255, 255, 0.25); background: rgba(255, 255, 255, 0.08); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding: 0.5rem 0.75rem; border-radius: 6px; }
    .navbar-toggler:focus { box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.15); }

    /* Collapse container */
    .navbar-collapse-custom { display: none; width: 100%; position: absolute; top: 100%; left: 0; background: rgba(8, 12, 20, 0.96); backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); border-bottom: 1px solid rgba(255, 255, 255, 0.1); padding: 1.5rem 1.5rem 2rem 1.5rem; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6); flex-direction: column; align-items: stretch; gap: 1.25rem; max-height: calc(100vh - 75px); overflow-y: auto; -webkit-overflow-scrolling: touch; }

    /* Show state for collapse */
    .navbar-collapse-custom.show { display: flex; }
    .nav-pill-container { display: flex !important; flex-direction: column !important; background: transparent !important; border: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; padding: 0 !important; box-shadow: none !important; align-items: stretch !important; width: 100% !important; gap: 0 !important; }
    .nav-pill-item { display: flex !important; flex-direction: column !important; align-items: stretch !important; width: 100% !important; border-right: none !important; border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important; }
    .navbar-custom.scrolled .nav-pill-item, .navbar-custom.inner-nav .nav-pill-item { border-bottom: 1px solid rgba(8, 12, 20, 0.08) !important; }
    .nav-pill-link { padding: 0.85rem 0.25rem !important; width: 100% !important; display: flex !important; align-items: center !important; justify-content: space-between !important; font-size: 0.82rem !important; }
    .right-actions { flex-direction: column-reverse; align-items: stretch; width: 100%; gap: 1rem; }
    .lang-select-wrapper { width: 100%; }
    .lang-select { width: 100%; text-align: center; background-position: right 15px center; }
    .btn-nav-contact { text-align: center; width: 100%; }
    .hero-content-wrapper { bottom: 8%; left: 1.5rem; right: 1.5rem; }
    .novedades-carousel-slide { flex: 0 0 85%; padding: 0 10px; }
    .carousel-nav-btn.prev-btn { left: 2%; }
    .carousel-nav-btn.next-btn { right: 2%; }
    .carousel-nav-btn { width: 40px; height: 40px; }
    .about-banner-section::before { display: none !important; }
    .about-text-col { padding: 5rem 2rem; }
    .about-title { font-size: 1.7rem; }
    .about-image-col { min-height: 380px; }
    .about-image-wrapper { clip-path: none; }
    .certifications-logos-row { justify-content: center; gap: 35px; }
    .cert-logo-item { flex: 0 0 30%; }
    .footer-section { padding: 3rem 1.5rem; margin: 0; border-radius: 0; }
    .footer-info-wrapper { flex-direction: column; align-items: center; text-align: center; gap: 15px; margin: 1.5rem 0; }
    .social-link-btn { margin: 0 8px; }
    .inner-page-spacer { height: 90px; }
    .navbar-custom.inner-nav { padding: 1rem 1.5rem; }

    /* Mobile Dropdown menu: Unfolds downwards directly inside menu flow */
    .navbar-custom .dropdown-menu { position: static !important; float: none !important; transform: none !important; inset: auto !important; top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; width: 100% !important; min-width: 100% !important; max-width: 100% !important; margin: 0.35rem 0 0.85rem 0 !important; box-shadow: none !important; border-radius: 12px !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; padding: 0.65rem 0.85rem !important; background: rgba(255, 255, 255, 0.06) !important; border: 1px solid rgba(255, 255, 255, 0.12) !important; }
    .navbar-custom .dropdown-menu.show { display: block !important; animation: mobileDropdownFadeIn 0.22s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
    .navbar-custom.scrolled .dropdown-menu, .navbar-custom.inner-nav .dropdown-menu { background: #f1f5f9 !important; border: 1px solid #e2e8f0 !important; }
    .navbar-custom .dropdown-item { white-space: normal !important; word-break: break-word !important; line-height: 1.4 !important; padding: 0.6rem 0.75rem !important; font-size: 0.76rem !important; border-radius: 8px !important; display: block !important; width: 100% !important; }
    .navbar-custom:not(.scrolled):not(.inner-nav) .dropdown-item { color: rgba(255, 255, 255, 0.88) !important; }
    .navbar-custom:not(.scrolled):not(.inner-nav) .dropdown-item:hover, .navbar-custom:not(.scrolled):not(.inner-nav) .dropdown-item:focus { background-color: rgba(255, 255, 255, 0.12) !important; color: #ffffff !important; }
    .navbar-custom.scrolled .dropdown-item, .navbar-custom.inner-nav .dropdown-item { color: #0f172a !important; }
    .navbar-custom.scrolled .dropdown-item:hover, .navbar-custom.inner-nav .dropdown-item:hover, .navbar-custom.scrolled .dropdown-item:focus, .navbar-custom.inner-nav .dropdown-item:focus { background-color: rgba(29, 93, 168, 0.08) !important; color: #1d5da8 !important; }
    .navbar-custom .dropdown-item.active, .navbar-custom.scrolled .dropdown-item.active, .navbar-custom.inner-nav .dropdown-item.active { background-color: #1d5da8 !important; color: #ffffff !important; font-weight: 800 !important; }
    .navbar-custom .dropdown-sublist { padding-left: 0.9rem !important; margin: 0.35rem 0 0.5rem 0.6rem !important; border-left: 2px solid rgba(29, 93, 168, 0.3) !important; }
    [dir="rtl"] .navbar-custom .dropdown-sublist { padding-left: 0 !important; padding-right: 0.9rem !important; margin: 0.35rem 0.6rem 0.5rem 0 !important; border-left: none !important; border-right: 2px solid rgba(29, 93, 168, 0.3) !important; }
    .navbar-custom:not(.scrolled):not(.inner-nav) .dropdown-sublist { border-left-color: rgba(0, 192, 243, 0.4) !important; }
    [dir="rtl"] .navbar-custom:not(.scrolled):not(.inner-nav) .dropdown-sublist { border-right-color: rgba(0, 192, 243, 0.4) !important; }
    .navbar-custom .dropdown-subitem { padding: 0.4rem 0.6rem !important; font-size: 0.72rem !important; display: flex !important; align-items: center !important; gap: 0.45rem !important; }
    .navbar-custom:not(.scrolled):not(.inner-nav) .dropdown-subitem { color: rgba(255, 255, 255, 0.7) !important; }
    .navbar-custom.scrolled .dropdown-subitem, .navbar-custom.inner-nav .dropdown-subitem { color: #475569 !important; }
    .navbar-custom .dropdown-subitem .sub-bullet { color: #00c0f3 !important; font-weight: 700; font-size: 0.85rem; }
    .navbar-custom .dropdown-divider { margin: 0.45rem 0 !important; border-color: rgba(255, 255, 255, 0.12) !important; }
    .navbar-custom.scrolled .dropdown-divider, .navbar-custom.inner-nav .dropdown-divider { border-color: rgba(8, 12, 20, 0.08) !important; }
    .about-hero { border-radius: 0; }
    .about-intro-section, .about-partner-section, .about-destacado-section, .about-valores-section, .about-sost-section { padding: 4rem 0; }
    .about-intro-subtitle { font-size: 1.35rem; }
    .about-partner-title, .about-valores-title, .about-sost-title { font-size: 1.6rem; }
    .about-icon-box { padding: 2rem 1.5rem; }
    .about-destacado-box { padding: 1rem 0; }
}

@media (max-width: 767px) {
    .novedades-card-image-wrapper { height: 220px; }
    .novedades-card-image-overlay { padding: 15px 20px; }
    .novedades-card-image-text { font-size: 0.9rem; }
    .novedades-card-body { padding: 20px; flex-direction: column; align-items: flex-start; gap: 15px; }
    .novedades-card-title { font-size: 0.95rem; }
    .cert-logo-item { flex: 0 0 45%; }
}

/* ==========================================================================
   Home Stats Counter Section (Downcounter / Count-Up)
   ========================================================================== */
.stats-counter-section {
    position: relative;
    padding: 3rem 0;
    background-color: #ffffff;
}
.stats-counter-card {
    background: linear-gradient(135deg, #071f3a 0%, #0e2b4f 45%, #1d5da8 100%);
    border-radius: 28px;
    padding: 3rem 2rem;
    box-shadow: 0 20px 45px rgba(7, 31, 58, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.14);
    position: relative;
    overflow: hidden;
}
.stats-counter-card::before {
    content: '';
    position: absolute;
    top: -40%;
    left: -20%;
    width: 60%;
    height: 180%;
    background: radial-gradient(circle, rgba(0, 192, 243, 0.18) 0%, transparent 65%);
    pointer-events: none;
}
.stats-counter-item {
    position: relative;
    padding: 1rem 1.25rem;
    transition: transform 0.3s ease;
}
.stats-counter-item:hover {
    transform: translateY(-4px);
}
@media (min-width: 992px) {
    .stats-counter-item:not(:last-child) {
        border-right: 1px solid rgba(255, 255, 255, 0.15);
    }
    html[dir="rtl"] .stats-counter-item:not(:last-child) {
        border-right: none;
        border-left: 1px solid rgba(255, 255, 255, 0.15);
    }
}
@media (max-width: 991px) and (min-width: 768px) {
    .stats-counter-item:nth-child(1),
    .stats-counter-item:nth-child(2) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
        padding-bottom: 2rem;
    }
    .stats-counter-item:nth-child(odd) {
        border-right: 1px solid rgba(255, 255, 255, 0.15);
    }
    html[dir="rtl"] .stats-counter-item:nth-child(odd) {
        border-right: none;
        border-left: 1px solid rgba(255, 255, 255, 0.15);
    }
}
@media (max-width: 767px) {
    .stats-counter-section {
        padding: 2rem 0;
    }
    .stats-counter-card {
        padding: 2.2rem 1.2rem;
        border-radius: 22px;
    }
    .stats-counter-item {
        padding: 0.85rem 0.5rem;
    }
    .stats-counter-item:nth-child(1),
    .stats-counter-item:nth-child(2) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
        padding-bottom: 1.5rem;
    }
    .stats-counter-item:nth-child(odd) {
        border-right: 1px solid rgba(255, 255, 255, 0.15);
    }
    html[dir="rtl"] .stats-counter-item:nth-child(odd) {
        border-right: none;
        border-left: 1px solid rgba(255, 255, 255, 0.15);
    }
}
.stats-icon-wrapper {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: rgba(0, 192, 243, 0.12);
    color: #00c0f3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.85rem;
    transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease;
}
.stats-counter-item:hover .stats-icon-wrapper {
    transform: scale(1.1);
    background: rgba(0, 192, 243, 0.25);
    color: #ffffff;
}
.stats-number-wrapper {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(2.4rem, 3.8vw, 3.3rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.1;
    margin-bottom: 0.45rem;
    letter-spacing: -0.02em;
}
.stats-counter-suffix {
    color: #00c0f3;
    font-weight: 800;
    margin-left: 2px;
}
.stats-counter-label {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.86rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.82);
    margin: 0;
    line-height: 1.45;
}

