@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');

:root{
  --padding-container: 30px 0;
  --color-title:#02708f;
}

body{ font-family:'Poppins',sans-serif; }

.container{
  width:90%; max-width:1200px; margin:0 auto;
  overflow:hidden; padding:var(--padding-container);
}

/* ===== Hero ===== */
.hero{
  width:100%; height:100vh; min-height:600px; max-height:900px;
  position:relative; display:grid; grid-template-rows:100px 1fr; color:#fff;
}
.hero::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(180deg, #0000008c 0%, #0000008c 100%), url('../img/map-pin-gps-navigation-technology-and-wireless-technology-in-the-city.webp');
  background-size: cover;
  clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 95%, 0 80%);
  z-index: -1;
}

/* ===== Nav ===== */
.nav{ --padding-container:0; height:100%; display:flex; align-items:center; }
.nav__title{ font-weight:300; }
.nav__link{
  margin-left:auto; padding:0; display:grid; grid-auto-flow:column;
  grid-auto-columns:max-content; gap:2em;
}
.nav__items{ list-style:none; }
.nav__links{ color:#fff; text-decoration:none; }
.nav__menu{ margin-left:auto; cursor:pointer; display:none; }
.nav__img{ display:block; width:30px; }
.nav__close{ display:var(--show, none); }

/* ===== Hero content ===== */
.hero__container{
  max-width:800px; --padding-container:0; display:grid; grid-auto-rows:max-content;
  gap:1em; padding-bottom:50px; text-align:center;
}
.hero__title{ font-size:2.3rem; }

/* H2 MÁS PEQUEÑO SOLO EN HERO */
.hero__title2{
  font-size: clamp(1rem, 1rem + 0.6vw, 1.25rem);
  line-height:1.55; font-weight:400; opacity:.95; margin-top:.25rem;
}

.hero__paragraph{ margin-bottom:20px; }

/* ===== CTA unificado ===== */
.cta{
  display:inline-block; background:linear-gradient(135deg,#ff0000,#900000);
  color:#fff; text-decoration:none; padding:13px 28px; border-radius:999px;
  font-weight:600; box-shadow:0 10px 24px rgba(0,0,0,.18);
  transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
}
.cta:hover{ transform:translateY(-1px); box-shadow:0 14px 32px rgba(0,0,0,.22); filter:saturate(1.05); }

/* CTA en el header (solo desktop) */
.cta--nav{ margin-left:14px; display:none; white-space:nowrap; }
@media (min-width:980px){ .cta--nav{ display:inline-block; } }

/* CTA bajo el video */
.cta--under-video{
  display:block; width:min(680px,92%); margin:14px auto 0; text-align:center;
}

/* CTA centrado de secciones */
.section-cta{ text-align:center; margin-top:22px; }

/* ===== Video ===== */
.video-box{ width:100%; max-width:720px; margin:0 auto 0; }
.video{ position:relative; height:0; padding:0; }
.video video{ width:100%; height:auto; display:block; }
.video iframe{ position:absolute; top:0; left:0; width:100%; height:100%; }

/* ===== About ===== */
.about{ text-align:center; }
.subtitle{ color:#ff0000; font-size:2rem; margin-bottom:25px; }
.about__paragraph{ line-height:1.7; }
.about__main{
  padding-top:80px; display:grid; width:90%; margin:0 auto; gap:1em; overflow:hidden;
  grid-template-columns:repeat(auto-fit, minmax(260px, auto));
}
.about__icons{ display:grid; gap:1em; justify-items:center; width:260px; overflow:hidden; margin:0 auto; }
.about__icon{ width:100px; }

/* ===== Knowledge ===== */
.avideo{ padding:50px 0 30px 0; }
.knowledge{
  width:100%; position:relative; overflow:hidden; text-align:center;
  background-color:#e5e5f7;
  background-image: radial-gradient(#00c6ff .5px, transparent .5px), radial-gradient(#ffffff .5px, #ffffff .5px);
  background-size:20px 20px; background-position:0 0, 10px 10px;
}
.knowledge__container{ gap:1em; align-items:center; }
.knowledge__picture{ max-width:500px; }
.knowledge__paragraph{ line-height:1.7; margin-bottom:15px; padding:0; }
.knowledge__img{ width:100%; display:block; }
.garantia{ padding:60px 60px 10px 60px; }

/* ===== Price (feature cards) ===== */
.price{ text-align:center; }
.price__table{
  padding-top:60px; display:flex; flex-wrap:wrap; gap:2.5em;
  justify-content:space-evenly; align-items:center;
}
.price__element{
  background-color:#02708f; text-align:center; border-radius:10px;
  width:330px; padding:40px;
  --color-plan:#fff; --color-price:#002d39; --bg-cta:#fff; --color-cta:#02708f; --color-items:#fff;
}
.price__element--best{
  width:370px; padding:60px 40px; background-color:#d00101;
  --color-plan:rgb(255 255 255 / 75%); --color-price:#fff; --bg-cta:#fb3b00; --color-cta:#fff; --color-items:#fff;
}
.price__name{ color:var(--color-plan); margin-bottom:15px; font-weight:300; }
.price__price{ font-size:2.5rem; color:var(--color-price); }
.price__items{
  margin-top:35px; display:grid; gap:1em; font-weight:300; font-size:1.2rem;
  margin-bottom:50px; color:var(--color-items);
}
.price__cta{
  display:block; padding:20px 0; border-radius:10px; text-decoration:none;
  background-color:var(--bg-cta); font-weight:600; color:var(--color-cta);
  box-shadow:0 0 1px rgba(0,0,0,.5);
}

/* ===== Testimony ===== */
.testimony{ background-color:#ffab7a; }
.testimony__container{ display:grid; grid-template-columns:50px 1fr 50px; gap:1em; align-items:center; }
.testimony__body{
  display:grid; grid-template-columns:1fr max-content; justify-content:space-between;
  align-items:center; gap:2em; grid-column:2/3; grid-row:1/2; opacity:0; pointer-events:none;
}
.testimony__body--show{ pointer-events:unset; opacity:1; transition:opacity 1.5s ease-in-out; }
.testimony__img{
  width:250px; height:250px; border-radius:50%; object-fit:cover; object-position:50% 30%;
}
.testimony__texts{ max-width:700px; }
.testimony__course{ background-color:royablue; color:#fff; display:inline-block; padding:5px; }
.testimony__arrow{ width:90%; cursor:pointer; }

/* ===== Questions ===== */
.questions{ text-align:center; }
.questions__container{ display:grid; gap:2em; padding-top:10px; padding-bottom:10px; }
.questions__padding{ padding:0; transition:padding .3s; border:1px solid #00c6ff; border-radius:6px; }
.questions__padding--add{ padding-bottom:30px; }
.questions__answer{ padding:0 30px 0; overflow:hidden; }
.questions__title{
  text-align:left; display:flex; font-size:20px; padding:30px 0; cursor:pointer;
  color:var(--color-title); justify-content:space-between;
}
.questions__arrow{
  border-radius:50%; background-color:var(--color-title); width:25px; height:25px;
  display:flex; justify-content:center; align-items:center; align-self:flex-end; margin-left:10px; transition:transform .3s;
}
.questions__arrow--rotate{ transform:rotate(180deg); }
.questions__show{ text-align:left; height:0; transition:height .3s; }
.questions__img{ display:block; }
.questions__copy{ width:60%; margin:0 auto 30px; }

/* ===== Footer ===== */
.footer{
  background-color:#02708f;
  clip-path: polygon(50% 0%, 100% 10%, 100% 100%, 0 100%, 0 9%);
}
.footer__title{ font-weight:300; font-size:2rem; margin-bottom:30px; }
.footer__title, .footer__newsletter{ color:#fff; }
.footer__container{
  display:flex; justify-content:space-between; align-items:center;
  border-bottom:1px solid #fff; padding-bottom:60px;
}
.nav--footer{ padding-bottom:20px; display:grid; gap:1em; grid-auto-flow:row; height:100%; }
.nav__link--footer{ display:flex; margin:0; margin-right:20px; flex-wrap:wrap; }
.footer__inputs{
  margin-top:10px; display:flex; flex-flow:row wrap; align-items:center; justify-content:space-around; overflow:hidden;
}
.footer__input{
  background-color:#fff; height:50px; display:block; padding-left:10px; border-radius:6px;
  font-size:1rem; outline:none; border:none; margin-right:16px; margin-bottom:16px;
}
.footer__submit{
  margin-left:auto; display:inline-block; height:50px; padding:0 20px; background-color:#2091F9;
  border:none; font-size:1rem; color:#fff; border-radius:6px; cursor:pointer;
}
.footer__copy{ --padding-container:30px 0; text-align:center; color:#fff; }
.footer__copyright{ font-weight:300; }
.footer__icons{ margin-bottom:10px; }
.footer__img{ width:30px; }
