:root{--red:#f13a2e;--white:#fff;--black:#000}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:68px}body{margin:0;background:#000;color:#fff;font-family:Roboto,Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{height:68px;background:#000;position:fixed;inset:0 0 auto;z-index:1000}.header-inner{max-width:1080px;margin:auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.brand img{width:128px;height:auto}.main-nav{display:flex;align-items:center}.main-nav a{display:flex;align-items:center;gap:9px;font-size:18px;padding:0 14px;line-height:29px;border-right:2px solid #fff;transition:color .2s}.main-nav a:last-child{border-right:0}.main-nav a:hover,.main-nav a:focus-visible{color:var(--red)}.main-nav svg{width:18px;height:18px;fill:var(--red)}.menu-toggle{display:none}.hero{min-height:640px;margin-top:68px;position:relative;isolation:isolate;overflow:hidden;background:#032f3b;text-align:center;display:flex;align-items:flex-start;justify-content:center}.hero-content{width:100%;padding:97px 20px 50px}.hero h1{margin:0;font-size:48px;line-height:1.2;font-weight:900}.hero h1 span,.hero h1 strong{display:block}.hero h1 strong{color:var(--red)}.hero p{font-size:34px;margin:8px 0 51px;font-weight:400}.hero-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--red);min-height:60px;padding:0 34px;font-weight:800;font-size:16px;transition:background .2s,transform .2s}.hero-cta:hover{background:#ce2c23;transform:translateY(-2px)}.about{max-width:1080px;margin:auto;padding:88px 0 60px}.about-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:52px;padding:0 10px}.about-copy h2{color:var(--red);font-size:16px;margin:0 0 15px;font-weight:800}.about-copy p{font-size:22px;line-height:1.14;margin:0}.about-logo img{width:100%;max-width:470px;margin:auto}.stats{background:#222;margin-top:55px;padding:20px 0;min-height:225px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}.stat{text-align:center;min-height:186px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:2px solid #dedede}.stat:last-child{border-right:0}.stat strong{font-size:66px;line-height:1.15;font-weight:900}.stat span{font-size:17px;font-weight:700;margin-top:9px}.trajectory{padding:0 24px 0}.trajectory-heading{text-align:center}.trajectory-heading h2{font-size:48px;line-height:1.1;color:var(--red);margin:0 0 22px;font-weight:900}.trajectory-heading p{font-size:21px;line-height:1.15;margin:0}.timeline{max-width:770px;margin:72px auto 0;position:relative}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:#333;transform:translateX(-50%)}.milestone{min-height:435px;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.milestone-copy{grid-column:1;grid-row:1;max-width:310px;justify-self:end;text-align:right}.milestone-image{grid-column:2;grid-row:1;justify-self:start;width:300px}.milestone-image img{width:300px;height:300px;object-fit:cover;border-radius:20px}.milestone.image-left .milestone-copy{grid-column:2;justify-self:start;text-align:left}.milestone.image-left .milestone-image{grid-column:1;justify-self:end}.milestone-pin{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:23px;height:23px;border-radius:50%;border:2px solid var(--red);background:#000;box-shadow:0 0 0 3px #000}.milestone-pin:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:var(--red);transform:translate(-50%,-50%)}.year{color:var(--red);font-size:21px;font-weight:800}.milestone h3{font-size:20px;line-height:1.02;font-weight:900;margin:3px 0 12px}.milestone p{font-size:18px;line-height:1.35;margin:0}.milestone:last-child{min-height:620px;align-items:start;padding-top:180px}.milestone:last-child .milestone-pin{top:250px}.footer{background:var(--red);text-align:center;padding:14px 20px 25px;font-size:17px;font-weight:700}.footer p{margin:0 0 13px}.footer-divider{height:2px;background:#fff;max-width:855px;margin:0 auto 12px}.footer p:last-child{margin:0}@media(max-width:800px){.about{padding:65px 24px}.hero{min-height:570px}.hero h1{font-size:clamp(31px,6vw,48px)}.hero p{font-size:clamp(21px,4.5vw,34px)}.about-copy p{font-size:19px}.stat strong{font-size:48px}.stat span{font-size:12px}.timeline{max-width:650px}.milestone{gap:64px;min-height:390px}.milestone-image,.milestone-image img{width:260px}.milestone-image img{height:260px}.milestone p{font-size:16px}.milestone h3{font-size:18px}}@media(max-width:620px){.site-header{height:64px}.header-inner{padding:0 19px}.brand img{width:114px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:transparent;padding:12px;cursor:pointer}.menu-toggle span{display:block;background:#fff;height:2px;width:24px}.main-nav{display:none;position:absolute;top:64px;left:0;right:0;background:#0d0d0d;padding:12px 20px 18px;flex-direction:column;align-items:stretch}.main-nav.is-open{display:flex}.main-nav a{padding:13px 4px;border-right:0;border-bottom:1px solid #333;font-size:16px}.hero{margin-top:64px;min-height:550px;background-position:37% center}.hero-content{padding-top:90px}.hero h1{font-size:clamp(30px,7.7vw,42px)}.hero p{font-size:23px;line-height:1.25;margin:20px 0 36px}.hero-cta{min-height:55px;padding:0 24px;font-size:14px}.about{padding:62px 22px 46px}.about-intro{grid-template-columns:1fr;gap:38px;padding:0}.about-copy p{font-size:19px;line-height:1.3}.about-logo img{max-width:340px}.stats{grid-template-columns:repeat(2,1fr);margin-top:42px;min-height:0}.stat{min-height:148px;border-bottom:1px solid #777}.stat:nth-child(2){border-right:0}.stat:nth-child(n+3){border-bottom:0}.stat strong{font-size:45px}.stat span{font-size:12px}.trajectory{padding:10px 20px 0}.trajectory-heading h2{font-size:clamp(31px,8vw,43px)}.trajectory-heading p{font-size:18px;line-height:1.35}.desktop-only{display:none}.timeline{margin:45px auto 0;padding-left:28px}.timeline:before{left:10px;transform:none}.milestone,.milestone:last-child{display:flex;flex-direction:column;gap:19px;align-items:flex-start;min-height:auto;padding:28px 0 55px}.milestone-copy,.milestone.image-left .milestone-copy{max-width:none;text-align:left;align-self:stretch}.milestone-image,.milestone.image-left .milestone-image{width:100%;align-self:stretch}.milestone-image img{width:100%;height:auto;max-height:345px;aspect-ratio:1.3;object-fit:cover;border-radius:15px}.milestone-pin,.milestone:last-child .milestone-pin{top:37px;left:-18px;width:19px;height:19px}.milestone h3{font-size:19px}.milestone p{font-size:17px}.footer{font-size:13px;line-height:1.4;padding:19px 20px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Hero con fondo parallax independiente del contenido */
.hero::before{content:"";position:absolute;z-index:-1;inset:-95px 0;pointer-events:none;background:linear-gradient(rgba(0,35,46,.32),rgba(0,35,46,.32)),url('assets/back_slide1.jpg') center center/cover no-repeat;transform:translate3d(0,var(--hero-parallax-y,0px),0);will-change:transform}
.hero-content{position:relative;z-index:1}
@media(max-width:620px){.hero::before{background-position:37% center;inset:-70px 0}}
@media(prefers-reduced-motion:reduce){.hero::before{transform:none;will-change:auto}}

/* V3 — Composición más compacta, manteniendo el fondo parallax */
/* El contenido del hero queda centrado en ambos ejes. */
.hero{
  min-height:0;
  height:clamp(420px, 48vw, 570px);
  align-items:center;
  justify-content:center;
}
.hero-content{
  padding:28px 20px;
}
.hero p{margin-bottom:35px}

/* Menor aire entre los hitos sin desalinear la línea y sus puntos. */
.timeline{margin-top:48px}
.milestone{min-height:340px;gap:100px}
.milestone:last-child{
  min-height:340px;
  align-items:center;
  padding-top:0;
}
.milestone:last-child .milestone-pin{top:50%}

@media(max-width:800px){
  .hero{height:clamp(410px,55vw,510px)}
  .milestone{min-height:300px;gap:64px}
  .milestone:last-child{min-height:300px}
}
@media(max-width:620px){
  .hero{height:auto;min-height:400px;max-height:none}
  .hero-content{padding:42px 18px}
  .hero p{margin:18px 0 28px}
  .timeline{margin-top:30px}
  .milestone,.milestone:last-child{
    min-height:0;
    padding:20px 0 32px;
    gap:15px;
    align-items:flex-start;
  }
  .milestone-pin,.milestone:last-child .milestone-pin{top:29px}
}
