/* ----------------------------
   v2.0 Nov25
----------------------------- */
@font-face {
    font-family: 'Fineliner-Script';
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src: local('Fineliner-Script'), url('../fonts/Fineliner-Script.woff') format('woff');
    local('Fineliner-Script'), url('../fonts/Fineliner-Script.woff2') format('woff2');
    }

    @font-face {
  font-family: 'UniSans-Bold';
  src: local('UniSans-Bold'), 
       url('../fonts/UniSans-Bold.woff2') format('woff2'),
       url('../fonts/UniSans-Bold.woff') format('woff'),
       url('../fonts/UniSans-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'UniSans-Book';
  src: local('UniSans-Book'),
       url('../fonts/UniSans-Book.woff2') format('woff2'),
       url('../fonts/UniSans-Book.woff') format('woff'),
       url('../fonts/UniSans-Book.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'UniSans-Regular';
  src: local('UniSans-Regular'),
       url('../fonts/UniSans-Regular.woff2') format('woff2'),
       url('../fonts/UniSans-Regular.woff') format('woff'),
       url('../fonts/UniSans-Regular.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'UniSans-Italic';
  src: local('UniSans-Italic'),
       url('../fonts/UniSans-Italic.woff2') format('woff2'),
       url('../fonts/UniSans-Italic.woff') format('woff'),
       url('../fonts/UniSans-Italic.otf') format('opentype');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'UniSans-Book-Italic';
  src: local('UniSans-Book-Italic'),
       url('../fonts/UniSans-Book-Italic.woff2') format('woff2'),
       url('../fonts/UniSans-Book-Italic.woff') format('woff'),
       url('../fonts/UniSans-Book-Italic.otf') format('opentype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'UniSans-Bold-Italic';
  src: local('UniSans-Bold-Italic'),
       url('../fonts/UniSans-Bold-Italic.woff2') format('woff2'),
       url('../fonts/UniSans-Bold-Italic.woff') format('woff'),
       url('../fonts/UniSans-Bold-Italic.otf') format('opentype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* RESET */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'UniSans-Regular', sans-serif;
    font-weight: 300;
    font-style: normal;
  color: #222;
  background-color: #fff;
  overflow-x: hidden;
}

/* HEADER */
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #001a72;
  padding: 10px 30px;
  color: #fff;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
  max-height: 80px;
}

.header .logo img {
  height: 135px;
  margin-top: 55px;
  margin-left: 40%;
}

.header-right {
  display: flex;
  align-items: center;
  gap: 100px;
}

.social-icons img {
  width: 40px;
  height: 40px;
  margin: 0px 5px;
}

.hamburger {
  display: flex;
  flex-direction: column;
  cursor: pointer;
}
.hamburger span {
  height: 4px;
  width: 40px;
  background: white;
  margin: 4px 0;
  border-radius: 5px;
}

/* NAV OVERLAY */
.nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 250px;
  height: 100vh;
  background: rgba(0, 26, 114, 0.81);
  transition: right 0.3s ease;
  padding-top: 100px;
}
.nav.active {
  right: 0;
}
.nav ul {
  list-style: none;
  text-align: center;
}
.nav li {
  margin: 20px 0;
}
.nav a {
  color: #fff;
  text-decoration: none;
  font-family: 'UniSans-Regular';
  font-size: 1.1rem;
  transition: color 0.2s;
}
.nav a:hover {
  color: #ffcc00;
}

/* HERO */
section#hero
{
            min-height: 100vh;
            padding-top: 80px;
            padding-bottom: 80px;
            padding-left: 6%;
            padding-right: 6%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }
#hero {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
#hero video {
    width:100%;
}
#hero .content-container {
            width: 100%;
    margin: 0 auto;
    text-align: center;
} 
/* Capa de patrón */
.overlay-pattern {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('../images/micro_carbon.png'); /* patrón en PNG o SVG */
  background-repeat: repeat;
  opacity: 0.7; /* Ajusta según lo que necesites */
  pointer-events: none;
}
#background-video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 1;
  transform: translate(-50%, -50%);
  object-fit: cover;
  filter: brightness(0.7); /* Opcional: oscurece el video para mejor legibilidad */
}
.scroll-down {
            position: relative;
            z-index: 3;
            bottom: -40%;
            font-size: 40px;
            cursor: pointer;
            animation: bounce 2s infinite;
            height: 45px;
            width: 45px;
}
video {
    pointer-events: none;
}

/* PARALLAX */
/* ======= SECCIÓN BASE ======= */
#parallax {
  position: relative;
  width: 100%;
  height: 140vh;
  overflow: hidden;
  perspective: 1000px;
}

/* ======= FONDO PARALLAX ======= */
.parallax-bg {
  position: absolute;
  top: -50px;
  left: 0;
  width: 100%;  /* un poco más grande para cubrir bordes al moverse */
  height: 100%;
  background-image: url('../images/fondoParallax.jpg');
  background-size:cover;
    background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  transition: transform 0.1s ease-out;
}

/* ======= CAPAS DE IMÁGENES ======= */
.parallax-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}

.parallax-layer img {
  max-width: 100%;
  height: auto;
  transition: transform 0.1s ease-out;
}

/* ======= CAPAS INDIVIDUALES ======= */

.layer2 { z-index: 2;
position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  will-change: transform;
  transition: transform 0.1s ease-out;
}

.layer3 { z-index: 3;
position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  will-change: transform;
  transition: transform 0.1s ease-out;}

/* Tamaños base para las imágenes */
.layer2 img {
  width:650px;
}

.layer3 img {
  width: 650px;
}
.parallax-content {
  position: relative;
  text-align: center;
  color: #001a72;
  z-index: 5;
  font-family: 'Fineliner-Script';
  font-size: 2rem;
   margin-top: 150px;
}
.parallax-content h2 {
  font-family: 'UniSans-Bold'; 
  font-weight: 700;
  text-align: left;
    padding-left: 30%;
    font-size: 60px;
}
.parallax-content  p{
  position: relative;
  text-align: center;
  color: #001a72;
  z-index: 5;
  font-family: 'Fineliner-Script';
  font-size: 65px;
  text-align: left;
     padding-left: 30%;
}
/* PRODUCTS */
.products-section {
  padding: 100px 20%;
  text-align: center;
  color: #001a72;
}
.products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 125px;
  margin-top: 40px;
}
.product img {
    border-radius: 15px;
    width: 338px;
    height: 308px;
}
#products p {
  text-align: left; 
  font-size: 18px;
  line-height: 20px;
}
#products h3 {
  text-align: left; 
  font-size: 24px;
  font-family: 'UniSans-Bold';
}
h3 {
    font-size: 35px;
    color: #001a72;
    line-height: 40px;
    font-family: 'UniSans-Bold';
}
.logo {
    
}

/* HISTORY */
.history-section {
  background: url('../images/fondoHistoria.jpg');
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
  color: white;
  text-align: center;
  width: 100%;
    height: 180vh;
}
.history-content {
    width: 100%;
    height: 100vh;
    
}
.history-content h2 {
  font-family: 'UniSans-Bold'; 
  font-weight: 700;
    color: #001a72;
    font-size: 60px;
    padding-top: 10%
}
.history-content h3 {
  font-family: 'UniSans-Bold'; 
  font-weight: 700;
    color: #fff;
    font-size: 30px;
    padding: 5% 0% 1.5% 0%;
    text-align: left;
}
.history-content  h2 span{
  position: relative;
  text-align: center;
  color: #001a72;
  z-index: 5;
  font-family: 'Fineliner-Script';
  font-size: 60px;
  padding-top: 5%
}
.history-content p {
  text-align: left;
  color: #fff;
  font-size: 25px;
    line-height: 27px;
    font-weight: 300;
}
.contenedor {
    width: 100%;
    height: auto;
    padding:20% 20% 0% 20%;
    vertical-align: middle;
    align-content: center;
    align-items: center;
}
.contenedor2 {
    width: 100%;
    height: auto;
    padding:0% 20% 0% 20%;
    vertical-align: middle;
    align-content: center;
    align-items: center;
}
.contenedor img {
    text-align: center;
    margin: 0 auto;
    margin-top: 60px;
    width: 170px;
    
}
.contenedor2 img {
    width: 386px;
    height: 82px;
    height: auto;
    padding:10% 0% 0% 0%;
    vertical-align: middle;
    align-content: center;
    align-items: center;
}

/* FOOTER */
.footer {
  background: #f2f2f2;
  background: url('../images/fondoFooter.jpg');
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  color: white;
  text-align: center;
  width: 100%;
height:100vh;
}
.footer-content h3 {
  font-family: 'UniSans-Bold'; 
  font-weight: 700;
    color: #001a72;
    font-size: 30px;
    padding: 5% 0% 1.5% 0%;
    text-align: left;
}
.footer-content p {
  text-align: left;
  color: #001a72;
  font-size: 21px;
    line-height: 23px;
    font-weight: 300;
}
.footer .logo {
    width: 100%;
    height: 88px;
    background: url('../images/logo.svg'); 
    background-repeat: no-repeat;
    background-size: 100%;
    margin-top: 10%;
    background-position: right;
    display: block;
    text-align: left;
    padding: 30px 0% 0% 0%;
}
.footer-divisor {
    display: block;
    margin: 0 auto;
    text-align: center;
    width: 100%;

}
.divisorA {
    display: inline-block;
    width:30%;
    line-height: 8px;
    text-align: right;
}
.divisorB {
    display: inline-block;
    width:69%;
    text-align: center;
}
.footer .logo p {
    font-size: 13px;
    color: #fff;
    text-align: left;
    padding: 30px 0% 0px 0%;
    display: inline;
    
}
.footer .logo .social-icons {
     width:30px;
     height: 30px;
    display: inline;
    margin: 0 auto;
    text-align: left; 
}
.footer .logo .social-icons img {
     width:30px;
     height: 30px;
    margin: 0 10px;
    text-align: center;
    vertical-align: middle;
}
.footer-mobile-rrss {
    display: none 
}
/* --- resto de tipografías y estilos base igual --- */


/* CLOSE BUTTON */
.close-btn {
  position: absolute;
  top: 20px;
  right: 25px;
  font-size: 2rem;
  color: #fff;
  cursor: pointer;
  font-weight: bold;
}

/* HAMBURGER ACTIVE STATE */
.hamburger.open span:nth-child(1) {
  transform: rotate(45deg) translateY(8px);
    display: none;
}
.hamburger.open span:nth-child(2) {
  opacity: 0;
}
.hamburger.open span:nth-child(3) {
  transform: rotate(-45deg) translateY(-8px);
    display: none;
}
.hamburger span {
  transition: all 0.3s ease;
}


/* Estilos que se aplican a pantallas de 550px o menos */
@media screen and (max-width: 550px) {
    .header .logo img {margin-left: inherit}
    .header .logo img {height: 95px;margin-top: 16px}
    .social-icons img {width: 30px}
    .header-right {gap:35px}
     section#hero {height: 30vh;min-height: 30vh;margin-top: 9vh}
    #background-video {min-height: 32vh;}
    .scroll-down {height: 40px; width: 40px;bottom: -82%;}
    #parallax {height: 70vh}
    .parallax-bg {top: -23px}
    .parallax-content {margin-top:100px}
    .parallax-content h2 {font-size: 32px;padding-left: 10%}
    .parallax-content p {font-size: 36px;padding-left: 10%}
    .layer2 {width: 87%;left: 17px;top: 50px;}
    .layer3 {width: 87%;left: 17px;top: 50px;}
    .products-section {padding: 50px 8%;}
    .product img {width: 270px; height: 246px}
    .products-grid {gap:45px}
    .contenedor {padding: 10% 8% 0% 8%;height: 125vh}
    .contenedor img {margin-top: 35px}
    .contenedor2 img {width:80%;padding-bottom: 5%}
    .contenedor2 {padding: 20% 8% 0% 8%}
    .history-section {height: 125vh; background-size: cover}
    .history-content h2 {font-size: 38px;line-break: normal;padding: 0% 24%;line-height: 38px;margin: 0 auto;text-align: center;margin-bottom: 5%;padding-top: 30px}
    .history-content h2 span {font-size: 46px;}
    .history-content h3 {padding-top: 10%}
    .history-content p {font-size: 18px;line-height: 20px}
    .footer {background-repeat: no-repeat;height: 120vh}
    .footer .logo {background: url(../images/logo2.svg);background-repeat:no-repeat;background-size: 100%;background-position: 100% 80%;height: 50px;text-align: center;padding-left: 2%;padding-top: 18px;margin-top: 5%}
    .footer .logo p {line-height: 9px;font-size: 9px}
    .divisorA {width: 48%;text-align: start}
    .divisorB {width: 48%}
    .footer .logo {margin-top: 27%}
    .footer .logo .social-icons {display: none}
    .footer-mobile-rrss {display:block}
    .contenedor2 h3 {padding-top: 15%} 
}
/* Estilos para pantallas entre 551px y 999px */
@media screen and (min-width: 551px) and (max-width: 999px) {
    .header .logo img {height: 110px;margin-top: 16px}
     section#hero {height: 50vh;min-height: 50vh;margin-top: 9vh}
    .nav.active {padding-top: 100px;}
    #parallax {height: 135vh}
    .parallax-content {margin-top:75px}
    .parallax-content h2 {padding-left: 12%}
    .parallax-content p {padding-left: 12%}
    #background-video {min-height: 32vh;}
    .products-grid {gap:45px}
    .products-section {padding: 50px 8% 100px 8%;}
    .contenedor {padding: 20% 8% 0% 8%}
    .history-section {height: inherit; background-size: cover}
    .history-content h2 {font-size: 45px;line-break: normal;padding: 0% 24%;}
    .history-content h2 span {font-size: 55px;}
    .history-content h3 {padding-top: 5%}
    .history-content p {font-size: 18px;line-height: 20px}
    .footer .logo {background: url(../images/logo2.svg);background-repeat:no-repeat;background-size: 100%;background-position: 100% 80%;height: 95px;text-align: center;padding-left: 2%;padding-top: 18px;margin-top: 5%}
    .footer .logo p {line-height: 65px;font-size: 9px}
    .divisorA {width: 48%;text-align: start}
    .divisorB {width: 48%}
    .footer .logo .social-icons {display: none}
    .footer-mobile-rrss {display:block;margin-top: 5%}
    .layer2 {width: 95%;left: 17px}
    .layer3 {width: 95%;left: 17px}
}
@media screen and (min-width: 551px) and (max-width: 767px) {  
    section#hero {height: 35vh;min-height: 35vh;margin-top: 9vh}
    .header-right {gap:35px}
    #parallax {height: 110vh}
    .parallax-content {margin-top:60px}
    .layer2 {width: 87%;left: 17px}
    .layer3 {width: 87%;left: 17px}
}
/* Estilos para pantallas entre 1000px y 1500px */
@media screen and (min-width: 1000px) and (max-width: 1500px) {
    #parallax {height: 160vh}
    .history-content h2 {font-size: 45px;line-break: normal;padding: 3% 24%;}
    .contenedor {padding: 10% 8% 0% 8%}
    .contenedor2 {padding: 0% 10% 0% 10%}
    .history-section {height: 135vh; background-size: cover}
    .history-content h3 {padding-top: 10%}
    .divisorA {width: 32%;}
    .divisorB {width: 67%;}
    .footer .logo {height: 90px}
    .footer .logo p {font-size: 11px}
    .footer .logo .social-icons img {width  25px;height: 25px;margin: 0 5px}
    .footer-divisor {line-height: 30px}
}
  /* Estilos para cualquier tablet */
@media screen 
  and (min-width: 600px) and (max-width: 1200px)
  and (min-height: 600px) and (max-height: 1400px) {
      section#hero {margin-top: 5vh;height: 40vh;min-height: 40vh}
      #parallax {height: 105vh}
      .layer2 img {width: 550px}
      .layer3 img { width: 550px}
      .layer2 {left: 55px;top:70px}
      .layer3 {left: 55px;top:70px}
      .parallax-content h2 {font-size: 50px}
      .parallax-content p {font-size: 60px}
      .history-content {height: 105vh}
      .history-content h3 {padding-top: 5%}
      .contenedor {padding: 25% 8% 0% 8%;height: 80vh;margin-top: 5%}
      .contenedor2 {padding: 10% 8% 0% 8%;}
      .footer .logo {background: url(../images/logo.svg);
        background-repeat: no-repeat;
        background-size: 165%;
        background-position: 100% 80%;
        height: 95px;
        text-align: center;
        padding-left: 2%;
        padding-top: 18px;
        margin-top: 12%;}
      .footer-divisor {height: 100px;line-height: 75px}
      .footer {height: 85vh}
}
  /* iPad Pro — vertical */
@media screen and (min-width: 834px) and (max-width: 1024px)
       and (orientation: portrait) {
        section#hero {margin-top: 5vh;height: 40vh;min-height: 40vh}
      #parallax {height: 105vh}
      .layer2 img {width: 650px}
      .layer3 img { width: 650px}
      .layer2 {left: 55px;top:70px}
      .layer3 {left: 55px;top:70px}
       #parallax {height: 90vh}
       #products p {font-size: 30px;line-height: 33px}
           #products h3 {font-size: 30px;margin: 15px 0px }
      .parallax-content h2 {font-size: 50px}
      .parallax-content p {font-size: 60px}
      .history-section {height: 100vh}
      .history-content {height: 105vh}
      .history-content h3 {padding-top: 5%}
      .contenedor {padding: 5% 8% 0% 8%;height: 80vh;margin-top: 5%}
      .contenedor2 {padding: 10% 8% 0% 8%;}
      .footer .logo {background: url(../images/logo.svg);
        background-repeat: no-repeat;
        background-size: 130%;
        background-position: 100% 80%;
        height: 95px;
        text-align: center;
        padding-left: 2%;
        padding-top: 18px;
        margin-top: 12%;}
      .footer-divisor {height: 100px;line-height: 75px}
      .footer .logo .social-icons {padding-right: 40%}
      .footer-content p {font-size: 25px}
      .footer {height: 65vh}
      .products-section {padding: 100px 5%}
      .products-grid {margin-top: 100px}
           

}

/* Mobile: 1 columna */
@media (max-width: 768px) {
  .products-grid {grid-template-columns: 1fr}
}
/* ----------------------------
   🖥️💎 2K (1921px – 2559px)
----------------------------- */
@media screen and (min-width: 1921px) and (max-width: 2559px) {
    .header {max-height: 160px;padding: 10px 60px;}
    .header .logo img {height: 250px;margin-top:85px }
    .header-right {gap:160px}
    .hamburger span {height: 4px;width: 88px;margin: 8px 0;}
    .social-icons img {width: 75px;height: 75px}
    .scroll-down {width: 150px;height: 150px}
    #parallax {height: 145vh}
    .parallax-content {margin-top:200px}
    .parallax-content h2 {font-size: 90px;padding-left: 30%}
    .parallax-content p {font-size: 100px;padding-left: 30%}
    .layer2 img {width: 1000px;left: 17px;top: 50px;}
    .layer3 img {width: 1000px;left: 17px;top: 50px;}
    .products-grid {margin-top: 90px}
    #products h3 {font-size: 42px;margin: 20px 0px 10px 0px}
    #products p {font-size:39px;line-height: 43px }
    .product img {width: 676px;height: 616px}
    .history-section {height:165vh}
    .history-content h2 {font-size: 120px}
    .history-content h2 span {font-size: 120px}
    .history-content h3 {font-size: 75px;margin-top: 120px}
    .history-content p {font-size: 38px;line-height: 51px;margin-top: 40px}
    .contenedor {padding: 15% 15%}
    .contenedor img {width: 300px;margin-top: 100px}
    .footer-content h3 {font-size: 75px;}
    .contenedor2 {padding: 0% 15%}
    .footer-content p {font-size: 39px;line-height: 53px;margin-top: 40px}
    .contenedor2 img {width: 800px;margin-bottom: 150px}
    .footer .logo {height: 200px;margin-top: inherit}
    .divisorA {width: 32%;}
    .divisorB {width: 67%;}
    .footer .logo {height: 250px}
    .footer-divisor {height: 200px; line-height: 191px}
    .footer .logo p {font-size: 26px;line-height: 135px}
    .footer .logo .social-icons {width: 100px; height: 100px}
    .footer .logo .social-icons img {width: 45px; height: 45px}
    .close-btn {right: 50px;font-size: 7rem;top: 0px;}
    .nav {width: 455px;padding-top: 150PX}
    .nav a {font-size: 31px;}
    .nav li {margin: 53px 0;}
   
}

/* ----------------------------
   🖥️🔹 4K (2560px y superiores)
----------------------------- */
