
:root{--brand:#c81725;--brand-dark:#920d18;--brand-light:#f32346;--ink:#17202b;--muted:#647181;--soft:#f7f7f8;--line:#e9e9ec}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Manrope",sans-serif;color:var(--ink);background:#fff;padding-top:78px}
a{text-decoration:none}
em{font-style:normal;color:var(--brand)}
.site-navbar{height:78px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 5px 25px rgba(20,24,30,.07)}
.navbar-brand img{width:190px;height:56px;object-fit:contain;object-position:left center}
.nav-link{font-weight:700;color:#262d36!important;margin:0 .42rem;position:relative}
.nav-link:after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:-7px;height:2px;background:var(--brand);transform:scaleX(0);transition:.25s}
.nav-link.active,.nav-link:hover{color:var(--brand)!important}.nav-link.active:after,.nav-link:hover:after{transform:scaleX(1)}
.btn-brand{background:linear-gradient(135deg,var(--brand-dark),var(--brand-light));border:0;color:#fff;box-shadow:0 10px 22px rgba(200,23,37,.23)}
.btn-brand:hover{color:#fff;transform:translateY(-2px);box-shadow:0 14px 28px rgba(200,23,37,.3)}
.hero-carousel,.hero-carousel .carousel-item{height:690px}
.hero-carousel .carousel-item img{height:690px;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 38%,rgba(255,255,255,.22) 70%,rgba(15,18,24,.08) 100%)}
.hero-caption{inset:0;padding:0;text-align:left;display:flex;align-items:center;color:var(--ink)}
.hero-copy{max-width:670px}
.eyebrow{display:inline-block;color:var(--brand);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800;margin-bottom:.9rem}
.hero-copy h1,.hero-copy h2{font-size:clamp(2.6rem,5vw,5rem);line-height:1.05;font-weight:800;max-width:750px}
.hero-copy h2{font-size:clamp(2.4rem,4.7vw,4.6rem)}
.hero-copy p{font-size:1.1rem;max-width:590px;color:#46515f;margin:1.4rem 0 2rem}
.btn-light-outline{border:1px solid rgba(30,35,42,.25);background:#fff;color:var(--ink)}
.metrics-section{margin-top:-56px;position:relative;z-index:5}
.metrics-panel{background:#fff;border-radius:22px;box-shadow:0 18px 55px rgba(20,24,30,.14);overflow:hidden}
.metric{padding:1.5rem;border-right:1px solid var(--line)}
.metric:last-child{border-right:0}.metric i{display:block;font-size:1.6rem;color:var(--brand)}.metric strong{display:block;font-size:1.25rem}.metric span{font-size:.82rem;color:var(--muted)}
.section-space{padding:90px 0}.bg-soft{background:var(--soft)}
.section-heading{max-width:760px;margin-inline:auto}.section-heading h2,.about-preview h2,.inner-hero h1,.purpose-card h2,.contact-info+h2{font-weight:800;font-size:clamp(2rem,4vw,3.3rem)}
.section-heading p{color:var(--muted)}
.feature-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 14px 45px rgba(20,24,30,.07)}
.feature-card img{width:100%;height:330px;object-fit:cover}.feature-card h3{font-size:1.8rem;font-weight:800}.feature-card p{color:var(--muted)}
.round-icon{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--brand);color:#fff;font-size:1.45rem;margin-bottom:1rem}
.check-list{list-style:none;padding:0}.check-list li{margin:.52rem 0}.check-list li:before{content:"✓";color:var(--brand);font-weight:900;margin-right:.65rem}
.service-card,.value-card,.category-card,.service-detail,.process-card,.purpose-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:2rem;box-shadow:0 10px 35px rgba(18,24,32,.055);transition:.28s}
.service-card:hover,.value-card:hover,.category-card:hover,.service-detail:hover{transform:translateY(-7px);box-shadow:0 18px 42px rgba(18,24,32,.11)}
.service-card>i,.value-card>i{font-size:2.3rem;color:var(--brand)}.service-card h3,.value-card h3{font-size:1.08rem;font-weight:800;margin-top:1rem}.service-card p,.value-card p{color:var(--muted);font-size:.93rem}
.cta-band{padding:65px 0;background:linear-gradient(120deg,#7f0a13,var(--brand),#e5223e);color:#fff}.cta-band p{color:rgba(255,255,255,.83)}
.inner-hero{padding:105px 0 90px;background:radial-gradient(circle at 80% 20%,rgba(200,23,37,.14),transparent 35%),linear-gradient(135deg,#fff,#f6eeee)}
.inner-hero h1{font-size:clamp(2.8rem,6vw,5rem)}.inner-hero p{max-width:700px;margin:1rem auto 0;color:var(--muted);font-size:1.08rem}
.purpose-card p{color:var(--muted);font-size:1.03rem}
.category-icon{width:66px;height:66px;display:grid;place-items:center;border-radius:18px;background:#fff0f1;color:var(--brand);font-size:1.8rem}.category-card h3{font-weight:800;margin-top:1.1rem}.category-card p,.category-card li{color:var(--muted)}.category-card ul{padding-left:1.1rem}.category-link{font-weight:800;color:var(--brand)}
.mini-product{display:flex;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.2rem;height:100%}.mini-product i{font-size:1.55rem;color:var(--brand)}.mini-product h3{font-size:1rem;font-weight:800}.mini-product p{font-size:.88rem;color:var(--muted);margin:0}
.service-detail{position:relative}.service-number{position:absolute;right:1.4rem;top:1rem;font-size:2.6rem;font-weight:800;color:#f1d7da}.service-detail>i{font-size:2.3rem;color:var(--brand)}.service-detail h3{font-weight:800;margin-top:1rem}.service-detail p,.service-detail li{color:var(--muted)}.service-detail ul{padding-left:1.1rem}
.process-card span{display:grid;place-items:center;margin:0 auto 1rem;width:58px;height:58px;border-radius:50%;background:var(--brand);color:#fff;font-size:1.3rem;font-weight:800}.process-card h3{font-weight:800}.process-card p{color:var(--muted)}
.contact-info article{display:flex;align-items:center;gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--line)}.contact-info i{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:#fff}.contact-info small,.contact-info strong{display:block}.contact-info small{color:var(--muted)}.social-box a{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#15202c;color:#fff}
.contact-form-page{background:#fff;border:1px solid var(--line);border-radius:28px;padding:clamp(1.5rem,4vw,3rem);box-shadow:0 24px 65px rgba(20,24,30,.1)}.contact-form-page h2{font-weight:800}.form-control,.form-select{min-height:54px;border-radius:13px;border-color:#dfe2e6}.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .23rem rgba(200,23,37,.12)}textarea.form-control{min-height:150px}.form-status{font-weight:700}
.site-footer{background:#131e29;color:#cbd2d9}.footer-logo{width:200px;height:65px;object-fit:contain;object-position:left;filter:brightness(0) invert(1)}.site-footer h6{color:#fff;font-weight:800}.site-footer a{display:block;color:#cbd2d9;margin:.55rem 0}.site-footer a:hover{color:#fff}.footer-bottom{background:#0c151e;border-top:1px solid rgba(255,255,255,.08)}
.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:991.98px){body{padding-top:70px}.site-navbar{height:70px}.navbar-brand img{width:160px;height:50px}.navbar-collapse{background:#fff;padding:1rem;border-radius:0 0 18px 18px;box-shadow:0 14px 24px rgba(0,0,0,.08)}.hero-carousel,.hero-carousel .carousel-item,.hero-carousel .carousel-item img{height:650px}.hero-overlay{background:rgba(255,255,255,.88)}.metrics-section{margin-top:-35px}.metric{border-bottom:1px solid var(--line)}}
@media(max-width:575.98px){.hero-carousel,.hero-carousel .carousel-item,.hero-carousel .carousel-item img{height:660px}.hero-copy h1,.hero-copy h2{font-size:2.45rem}.hero-copy p{font-size:1rem}.carousel-control-prev,.carousel-control-next{display:none}.section-space{padding:65px 0}.metrics-panel{border-radius:18px}.metric{padding:1.1rem .5rem}.feature-card img{height:240px}.inner-hero{padding:75px 0 65px}}


/* Página de error 404 */
.error-page{
  position:relative;
  overflow:hidden;
  min-height:calc(100vh - 78px);
  padding:70px 0 55px;
  background:
    radial-gradient(circle at 15% 20%,rgba(200,23,37,.13),transparent 29%),
    radial-gradient(circle at 88% 72%,rgba(200,23,37,.11),transparent 34%),
    linear-gradient(135deg,#fff,#f8f0f1);
}
.error-page:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(200,23,37,.21) 1px,transparent 1px);
  background-size:28px 28px;
  opacity:.2;
}
.error-page .container{position:relative;z-index:2}
.error-content{min-height:68vh}
.error-code{
  font-size:clamp(6rem,15vw,10.5rem);
  line-height:.82;
  font-weight:800;
  letter-spacing:-.08em;
  background:linear-gradient(135deg,var(--brand-dark),var(--brand-light));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 22px 55px rgba(200,23,37,.12);
}
.error-page h1{
  max-width:720px;
  margin:1.35rem 0;
  font-size:clamp(2.1rem,4.6vw,3.7rem);
  line-height:1.08;
  font-weight:800;
}
.error-page p{
  max-width:650px;
  color:var(--muted);
  font-size:1.08rem;
  margin-bottom:2rem;
}
.error-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.7rem 1.1rem;
  color:var(--muted);
}
.error-links a{color:var(--brand);font-weight:800}
.error-visual{
  position:relative;
  display:grid;
  place-items:center;
  width:min(440px,90vw);
  aspect-ratio:1;
  margin:auto;
}
.error-icon{
  width:160px;
  height:160px;
  display:grid;
  place-items:center;
  z-index:3;
  border-radius:38px;
  color:#fff;
  font-size:4.5rem;
  background:linear-gradient(135deg,var(--brand-dark),var(--brand-light));
  box-shadow:0 30px 70px rgba(200,23,37,.3);
  transform:rotate(-7deg);
}
.error-orbit{
  position:absolute;
  border:1px solid rgba(200,23,37,.24);
  border-radius:50%;
}
.orbit-one{inset:48px}
.orbit-two{inset:5px}
.error-box{
  position:absolute;
  width:78px;
  height:78px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:#fff;
  color:var(--brand);
  font-size:2rem;
  box-shadow:0 18px 45px rgba(20,24,30,.13);
  animation:float404 4s ease-in-out infinite;
}
.box-one{top:35px;right:45px}
.box-two{right:5px;bottom:45px;animation-delay:.8s}
.box-three{left:45px;bottom:20px;animation-delay:1.5s}
@keyframes float404{
  0%,100%{transform:translateY(0) rotate(0)}
  50%{transform:translateY(-14px) rotate(4deg)}
}
@media(max-width:991.98px){
  .error-page{padding-top:50px}
  .error-content{min-height:auto}
  .error-visual{margin-top:10px}
}
