:root{
  --rojo-principal:#E30613;
  --rojo-intenso:#C90012;
  --rojo-oscuro:#9B0009;
  --rojo-vino:#75000A;
  --rojo-brillante:#FF1A1A;
  
  --negro-profundo:#080808;
  --negro-industrial:#111111;
  --negro-carbon:#1A1A1A;
  --gris-carbon:#242424;
  --gris-oscuro:#333333;
  --gris-texto:#b9b9b9;
  --blanco:#ffffff;
  --grad-rojo: linear-gradient(135deg, var(--rojo-oscuro) 0%, var(--rojo-principal) 45%, var(--rojo-brillante) 100%);
  --grad-oscuro: linear-gradient(180deg, var(--negro-profundo) 0%, var(--negro-industrial) 100%);
  --sombra-roja: 0 10px 30px rgba(227,6,19,.25);
  --font-head: 'Poppins', 'Segoe UI', Arial, sans-serif;
  --font-body: 'Inter', 'Segoe UI', Arial, sans-serif;
  --radius: 14px;
  --transition: .35s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--negro-profundo);
  color:#eaeaea;
  font-family:var(--font-body);
  line-height:1.65;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
h1,h2,h3,h4,h5{ font-family:var(--font-head); font-weight:700; color:#fff; margin:0 0 .5em; line-height:1.2; }
p{ margin:0 0 1em; color:var(--gris-texto); }
section{ position:relative; }
.container{ width:92%; max-width:1240px; margin:0 auto; }
button{ font-family:var(--font-body); cursor:pointer; }
::selection{ background:var(--rojo-principal); color:#fff; }
::-webkit-scrollbar{ width:10px; }
::-webkit-scrollbar-track{ background:var(--negro-profundo); }
::-webkit-scrollbar-thumb{ background:var(--rojo-oscuro); border-radius:10px; }
::-webkit-scrollbar-thumb:hover{ background:var(--rojo-principal); }
body.custom-cursor, body.custom-cursor a, body.custom-cursor button, body.custom-cursor input, body.custom-cursor textarea{
  cursor:none;
}
#brush-canvas{
  position:fixed; inset:0; width:100vw; height:100vh;
  pointer-events:none; z-index:9998; mix-blend-mode:screen;
}
#preloader{
  position:fixed; inset:0; z-index:99999; background:var(--negro-profundo);
  display:flex; align-items:center; justify-content:center; flex-direction:column; gap:18px;
  transition:opacity .6s ease, visibility .6s ease;
}
#preloader.hidden{ opacity:0; visibility:hidden; pointer-events:none; }
.loader-logo{ width:120px; animation:pulse 1.4s ease-in-out infinite; }
.loader-bar{ width:220px; height:4px; background:var(--gris-carbon); border-radius:4px; overflow:hidden; }
.loader-bar span{ display:block; height:100%; width:0; background:var(--grad-rojo); animation:loading 1.6s ease-in-out infinite; }
@keyframes loading{ 0%{width:0;margin-left:0;} 50%{width:70%;} 100%{width:0;margin-left:100%;} }
@keyframes pulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.08); } }
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 30px; border-radius:50px; font-weight:600; font-size:.95rem;
  border:2px solid transparent; transition:var(--transition); white-space:nowrap;
  letter-spacing:.3px;
}
.btn-primary{
  background:var(--grad-rojo); color:#fff; box-shadow:var(--sombra-roja);
  background-size:160% 160%; background-position:0% 50%;
}
.btn-primary:hover{ background-position:100% 50%; transform:translateY(-3px); box-shadow:0 16px 34px rgba(227,6,19,.4); }
.btn-outline{ border-color:var(--rojo-principal); color:#fff; background:transparent; }
.btn-outline:hover{ background:var(--rojo-principal); transform:translateY(-3px); }
.btn-ghost{ border-color:rgba(255,255,255,.25); color:#fff; }
.btn-ghost:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
.btn-sm{ padding:9px 20px; font-size:.82rem; }
.btn-block{ width:100%; }
.btn i, .btn svg{ font-size:1.05em; }
.eyebrow{
  display:inline-flex; align-items:center; gap:8px; color:var(--rojo-brillante);
  font-weight:700; letter-spacing:2.5px; text-transform:uppercase; font-size:.78rem; margin-bottom:14px;
}
.eyebrow::before{ content:''; width:26px; height:2px; background:var(--rojo-brillante); display:inline-block; }
.section-head{ max-width:720px; margin-bottom:52px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.section-head h2{ font-size:clamp(1.8rem,3.4vw,2.7rem); }
.section-head p{ font-size:1.05rem; }
.section-pad{ padding:110px 0; }
.bg-carbon{ background:var(--negro-carbon); }
.bg-industrial{ background:var(--negro-industrial); }
.bg-gradient-red{ background:var(--grad-rojo); }
.divider-line{ width:70px; height:4px; background:var(--grad-rojo); border-radius:4px; margin:10px 0 26px; }
#header{
  position:fixed; top:0; left:0; width:100%; z-index:1000;
  padding:18px 0; transition:var(--transition);
  background:linear-gradient(180deg, rgba(8,8,8,.75), rgba(8,8,8,0));
}
#header.scrolled{
  padding:10px 0; background:rgba(8,8,8,.92); backdrop-filter:blur(10px);
  box-shadow:0 6px 24px rgba(0,0,0,.4); border-bottom:1px solid rgba(227,6,19,.15);
}
.navbar{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand{ display:flex; align-items:center; gap:10px; }
.brand img{ height:46px; width:auto; transition:var(--transition); }
#header.scrolled .brand img{ height:38px; }
.nav-menu{ display:flex; align-items:center; gap:2px; }
.nav-menu a{
  display:block; padding:10px 16px; font-weight:600; font-size:.92rem; color:#eee;
  position:relative; transition:var(--transition);
}
.nav-menu a::after{
  content:''; position:absolute; left:16px; right:16px; bottom:4px; height:2px;
  background:var(--rojo-principal); transform:scaleX(0); transform-origin:left; transition:var(--transition);
}
.nav-menu a:hover, .nav-menu a.active{ color:#fff; }
.nav-menu a:hover::after, .nav-menu a.active::after{ transform:scaleX(1); }
.nav-actions{ display:flex; align-items:center; gap:12px; }
.icon-btn{
  width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.2); color:#fff; font-size:1.1rem; transition:var(--transition);
}
.icon-btn:hover{ background:var(--rojo-principal); border-color:var(--rojo-principal); transform:translateY(-2px); }
.burger{ display:none; flex-direction:column; gap:5px; width:32px; z-index:1200; }
.burger span{ height:2px; background:#fff; border-radius:2px; transition:var(--transition); }
.burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
#hero{
  position:relative; min-height:100vh; display:flex; align-items:center;
  overflow:hidden; background:var(--negro-profundo);
}
.hero-video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.32;
}
.hero-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 80% 20%, rgba(227,6,19,.25), transparent 45%),
    linear-gradient(120deg, rgba(8,8,8,.96) 20%, rgba(20,4,5,.85) 60%, rgba(155,0,9,.55) 130%);
}
.hero-particles{ position:absolute; inset:0; pointer-events:none; }
.hero-content{ position:relative; z-index:3; padding-top:90px; }
.hero-tag{
  display:inline-flex; align-items:center; gap:10px; padding:8px 18px; border-radius:50px;
  background:rgba(227,6,19,.12); border:1px solid rgba(227,6,19,.4); color:#ffdada;
  font-size:.8rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:26px;
}
.hero-tag .dot{ width:8px; height:8px; border-radius:50%; background:var(--rojo-brillante); box-shadow:0 0 10px var(--rojo-brillante); animation:blink 1.6s infinite; }
@keyframes blink{ 50%{ opacity:.25; } }
.hero-content h1{
  font-size:clamp(2.4rem,5.6vw,4.3rem); max-width:900px; letter-spacing:-1px;
}
.hero-content h1 .outline{
  -webkit-text-stroke:1.5px var(--rojo-brillante); color:transparent;
}
.hero-content h1 span.grad{
  background:var(--grad-rojo); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-content p.lead{ font-size:1.15rem; max-width:600px; color:#d8d8d8; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:16px; margin:34px 0 54px; }
.hero-stats{ display:flex; flex-wrap:wrap; gap:0; border-top:1px solid rgba(255,255,255,.12); padding-top:30px; max-width:820px; }
.hero-stats .stat{ flex:1 1 150px; padding-right:26px; }
.hero-stats .stat h3{ font-size:2.3rem; color:#fff; margin-bottom:2px; }
.hero-stats .stat h3 .plus{ color:var(--rojo-brillante); }
.hero-stats .stat span{ font-size:.82rem; color:var(--gris-texto); text-transform:uppercase; letter-spacing:1px; }
.scroll-hint{
  position:absolute; bottom:26px; left:50%; transform:translateX(-50%); z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:8px; color:#ccc; font-size:.75rem;
  letter-spacing:2px; text-transform:uppercase;
}
.scroll-hint .mouse{ width:24px; height:38px; border:2px solid rgba(255,255,255,.5); border-radius:14px; position:relative; }
.scroll-hint .mouse::before{
  content:''; position:absolute; top:6px; left:50%; transform:translateX(-50%); width:4px; height:8px;
  background:var(--rojo-brillante); border-radius:3px; animation:scrolldown 1.6s infinite;
}
@keyframes scrolldown{ 0%{ opacity:1; top:6px;} 100%{ opacity:0; top:18px;} }
.marcas-strip{ background:var(--negro-industrial); padding:26px 0; border-top:1px solid var(--gris-carbon); border-bottom:1px solid var(--gris-carbon); }
.marcas-strip .container{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:22px; }
.marcas-strip .label{ color:var(--gris-texto); font-size:.82rem; text-transform:uppercase; letter-spacing:1.5px; font-weight:700; }
.marcas-strip .brands{ display:flex; align-items:center; gap:34px; flex-wrap:wrap; }
.marcas-strip .brands b{ color:#fff; font-size:1.1rem; }
.marcas-strip .brands span{ color:var(--rojo-brillante); }
.about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.about-media{ position:relative; }
.about-media .frame{ border-radius:var(--radius); overflow:hidden; box-shadow:0 30px 60px rgba(0,0,0,.5); position:relative; }
.about-media .frame img{ transition:transform .6s ease; }
.about-media:hover .frame img{ transform:scale(1.06); }
.about-media .badge{
  position:absolute; bottom:-26px; left:-26px; background:var(--grad-rojo); color:#fff;
  padding:20px 26px; border-radius:var(--radius); box-shadow:var(--sombra-roja); text-align:center; min-width:150px;
}
.about-media .badge h3{ font-size:2.2rem; margin-bottom:0; }
.about-media .badge span{ font-size:.78rem; text-transform:uppercase; letter-spacing:1px; }
.about-media .years-ring{
  position:absolute; top:-24px; right:-24px; width:120px; height:120px; border-radius:50%;
  background:var(--negro-carbon); border:2px solid var(--rojo-principal); display:flex; align-items:center;
  justify-content:center; flex-direction:column; text-align:center; box-shadow:0 10px 30px rgba(0,0,0,.5);
}
.years-ring h3{ font-size:2rem; margin:0; color:var(--rojo-brillante); }
.years-ring span{ font-size:.65rem; color:#ccc; text-transform:uppercase; }
.why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:36px; }
.why-item{
  display:flex; align-items:center; gap:14px; background:var(--negro-carbon); border:1px solid var(--gris-carbon);
  padding:16px 18px; border-radius:12px; transition:var(--transition);
}
.why-item:hover{ border-color:var(--rojo-principal); transform:translateY(-4px); box-shadow:0 12px 26px rgba(227,6,19,.15); }
.why-item .ic{
  width:44px; height:44px; min-width:44px; border-radius:10px; background:var(--grad-rojo);
  display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:#fff;
}
.why-item h4{ font-size:.95rem; margin:0; }
.tabs-nav{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:44px; }
.tab-btn{
  padding:13px 24px; border-radius:50px; background:var(--negro-carbon); border:1px solid var(--gris-carbon);
  color:#ddd; font-weight:600; font-size:.9rem; transition:var(--transition); display:flex; align-items:center; gap:10px;
}
.tab-btn .flag{ font-size:1rem; }
.tab-btn:hover{ border-color:var(--rojo-principal); color:#fff; }
.tab-btn.active{ background:var(--grad-rojo); border-color:transparent; color:#fff; box-shadow:var(--sombra-roja); }
.tab-panels{ position:relative; }
.tab-panel{ display:none; animation:fadein .5s ease; }
.tab-panel.active{ display:block; }
@keyframes fadein{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:translateY(0);} }
.tech-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:center; }
.tech-media{ background:var(--negro-carbon); border-radius:var(--radius); padding:30px; border:1px solid var(--gris-carbon); position:relative; overflow:hidden; }
.tech-media::before{
  content:''; position:absolute; width:260px; height:260px; background:var(--rojo-principal); filter:blur(90px); opacity:.25;
  top:-60px; right:-60px; border-radius:50%;
}
.tech-media img{ position:relative; z-index:1; }
.tech-info .origin{ display:inline-flex; align-items:center; gap:8px; background:rgba(227,6,19,.12); border:1px solid rgba(227,6,19,.35); padding:6px 14px; border-radius:50px; font-size:.78rem; font-weight:700; color:#ffb9b9; margin-bottom:16px; text-transform:uppercase; letter-spacing:1px; }
.tech-info h3{ font-size:1.9rem; }
.feature-list{ display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; margin:24px 0; }
.feature-list li{ display:flex; gap:10px; align-items:flex-start; font-size:.92rem; color:#ddd; }
.feature-list li i{ color:var(--rojo-brillante); margin-top:3px; }
.spec-row{ display:flex; gap:30px; flex-wrap:wrap; margin-top:20px; padding-top:20px; border-top:1px dashed var(--gris-carbon); }
.spec-row div b{ display:block; color:#fff; font-size:1.3rem; }
.spec-row div span{ font-size:.75rem; color:var(--gris-texto); text-transform:uppercase; letter-spacing:1px; }
.services-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.service-card{
  background:var(--negro-carbon); border:1px solid var(--gris-carbon); border-radius:var(--radius);
  padding:32px 26px; transition:var(--transition); position:relative; overflow:hidden;
}
.service-card::after{
  content:''; position:absolute; left:0; bottom:0; width:100%; height:3px; background:var(--grad-rojo);
  transform:scaleX(0); transform-origin:left; transition:var(--transition);
}
.service-card:hover{ transform:translateY(-10px); border-color:rgba(227,6,19,.4); box-shadow:0 20px 40px rgba(0,0,0,.4); }
.service-card:hover::after{ transform:scaleX(1); }
.service-card .num{ position:absolute; top:18px; right:22px; font-size:2.4rem; font-weight:800; color:rgba(255,255,255,.05); font-family:var(--font-head); }
.service-card .ic{
  width:56px; height:56px; border-radius:14px; background:rgba(227,6,19,.12); border:1px solid rgba(227,6,19,.3);
  display:flex; align-items:center; justify-content:center; font-size:1.5rem; color:var(--rojo-brillante); margin-bottom:20px;
}
.service-card h4{ font-size:1.08rem; margin-bottom:10px; }
.service-card p{ font-size:.88rem; margin-bottom:0; }
.service-card a.more{ display:inline-flex; align-items:center; gap:6px; margin-top:14px; font-size:.82rem; font-weight:700; color:var(--rojo-brillante); }
.ink-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:10px; }
.ink-chip{
  border-radius:var(--radius); padding:22px 14px; text-align:center; border:1px solid var(--gris-carbon);
  background:var(--negro-carbon); transition:var(--transition);
}
.ink-chip:hover{ transform:translateY(-6px); border-color:var(--rojo-principal); }
.ink-swatch{ width:46px; height:46px; border-radius:50%; margin:0 auto 14px; border:3px solid rgba(255,255,255,.12); box-shadow:0 6px 16px rgba(0,0,0,.4); }
.ink-chip span{ font-size:.82rem; font-weight:700; color:#eee; display:block; }
.ink-chip small{ font-size:.7rem; color:var(--gris-texto); }
.insumos-media-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:50px; }
.media-card{ border-radius:var(--radius); overflow:hidden; position:relative; border:1px solid var(--gris-carbon); }
.media-card img{ height:220px; width:100%; object-fit:cover; transition:transform .6s ease; }
.media-card:hover img{ transform:scale(1.08); }
.media-card .cap{
  position:absolute; left:0; right:0; bottom:0; padding:16px 18px; background:linear-gradient(0deg, rgba(0,0,0,.9), transparent);
  font-weight:700; font-size:.9rem; color:#fff;
}
.apps-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.app-card{ position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3; }
.app-card img{ width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.app-card:hover img{ transform:scale(1.12); }
.app-card .overlay{
  position:absolute; inset:0; background:linear-gradient(0deg, rgba(8,8,8,.94) 10%, rgba(8,8,8,.15) 60%, transparent 100%);
  display:flex; flex-direction:column; justify-content:flex-end; padding:24px; transition:var(--transition);
}
.app-card h4{ margin-bottom:6px; font-size:1.15rem; }
.app-card p{ font-size:.82rem; max-height:0; opacity:0; overflow:hidden; transition:var(--transition); margin:0; }
.app-card:hover p{ max-height:100px; opacity:1; margin-top:6px; }
.app-card .tag{
  position:absolute; top:16px; left:16px; background:var(--grad-rojo); font-size:.68rem; font-weight:700;
  padding:5px 12px; border-radius:50px; text-transform:uppercase; letter-spacing:.6px;
}
.video-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.video-grid .video-item.wide{ grid-column:span 2; }
.video-card{
  position:relative; border-radius:var(--radius); overflow:hidden; cursor:pointer; aspect-ratio:16/10;
  border:1px solid var(--gris-carbon);
}
.video-card img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.video-card:hover img{ transform:scale(1.08); filter:brightness(.6); }
.video-card .play{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
}
.video-card .play span{
  width:70px; height:70px; border-radius:50%; background:var(--grad-rojo); display:flex; align-items:center;
  justify-content:center; color:#fff; font-size:1.4rem; box-shadow:0 10px 30px rgba(227,6,19,.5);
  transition:var(--transition);
}
.video-card:hover .play span{ transform:scale(1.15); }
.video-card .vtitle{
  position:absolute; left:0; right:0; bottom:0; padding:18px; background:linear-gradient(0deg, rgba(0,0,0,.9), transparent);
  font-weight:700; font-size:.95rem;
}
#video-modal{
  position:fixed; inset:0; background:rgba(4,2,2,.92); z-index:5000; display:none; align-items:center; justify-content:center; padding:20px;
}
#video-modal.show{ display:flex; }
.video-modal-box{ width:100%; max-width:900px; background:#000; border-radius:12px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.7); position:relative; }
.video-modal-box video{ width:100%; display:block; max-height:80vh; }
.video-modal-close{
  position:absolute; top:12px; right:12px; color:#fff; font-size:1.6rem; background:var(--rojo-principal);
  width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; border:none;
  z-index:5; box-shadow:0 6px 18px rgba(0,0,0,.5); line-height:1;
}
.accordion{ display:flex; flex-direction:column; gap:14px; }
.acc-item{ background:var(--negro-carbon); border:1px solid var(--gris-carbon); border-radius:12px; overflow:hidden; }
.acc-head{
  display:flex; align-items:center; justify-content:space-between; padding:20px 24px; cursor:pointer; gap:16px;
}
.acc-head h4{ margin:0; font-size:1rem; display:flex; align-items:center; gap:14px; }
.acc-head h4 i.num{ color:var(--rojo-brillante); font-style:normal; font-family:var(--font-head); font-weight:800; }
.acc-head .chev{ transition:var(--transition); color:var(--rojo-brillante); }
.acc-item.open .acc-head .chev{ transform:rotate(180deg); }
.acc-body{ max-height:0; overflow:hidden; transition:max-height .4s ease; }
.acc-body div{ padding:0 24px 22px 62px; font-size:.92rem; color:var(--gris-texto); }
.acc-item.open .acc-body{ max-height:220px; }
.clients-marquee{ overflow:hidden; position:relative; padding:20px 0; }
.clients-marquee::before, .clients-marquee::after{
  content:''; position:absolute; top:0; bottom:0; width:120px; z-index:2;
}
.clients-marquee::before{ left:0; background:linear-gradient(90deg, var(--negro-profundo), transparent); }
.clients-marquee::after{ right:0; background:linear-gradient(270deg, var(--negro-profundo), transparent); }
.marquee-track{ display:flex; gap:34px; width:max-content; animation:scrollx 42s linear infinite; }
.clients-marquee:hover .marquee-track{ animation-play-state:paused; }
.marquee-track .logo-box{
  background:#fff; border-radius:12px; padding:18px 26px; display:flex; align-items:center; justify-content:center;
  width:170px; height:96px; box-shadow:0 8px 20px rgba(0,0,0,.25);
}
.marquee-track .logo-box img{ max-height:56px; max-width:130px; object-fit:contain; }
@keyframes scrollx{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
.contact-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; }
.contact-info{ display:flex; flex-direction:column; gap:20px; }
.info-card{ background:var(--negro-carbon); border:1px solid var(--gris-carbon); border-radius:14px; padding:22px 24px; display:flex; gap:16px; align-items:flex-start; transition:var(--transition); }
.info-card:hover{ border-color:var(--rojo-principal); transform:translateX(6px); }
.info-card .ic{ width:46px; min-width:46px; height:46px; border-radius:12px; background:var(--grad-rojo); display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.1rem; }
.info-card h5{ margin:0 0 4px; font-size:.92rem; color:#fff; }
.info-card p{ margin:0; font-size:.86rem; }
.info-card a{ color:#ddd; }
.info-card a:hover{ color:var(--rojo-brillante); }
.social-row{ display:flex; gap:12px; margin-top:6px; }
.contact-form{ background:var(--negro-carbon); border:1px solid var(--gris-carbon); border-radius:var(--radius); padding:38px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.form-group{ display:flex; flex-direction:column; gap:8px; }
.form-group.full{ grid-column:1/-1; }
.form-group label{ font-size:.8rem; font-weight:700; color:#ddd; text-transform:uppercase; letter-spacing:.5px; }
.form-group input, .form-group select, .form-group textarea{
  background:var(--negro-profundo); border:1px solid var(--gris-carbon); border-radius:10px; padding:13px 16px;
  color:#fff; font-family:var(--font-body); font-size:.92rem; transition:var(--transition); width:100%;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{
  outline:none; border-color:var(--rojo-principal); box-shadow:0 0 0 3px rgba(227,6,19,.18);
}
.form-group input[type=file]{ padding:10px; font-size:.82rem; color:var(--gris-texto); }
.form-note{ font-size:.78rem; color:var(--gris-texto); margin-top:14px; }
#form-status{ margin-top:16px; font-size:.88rem; padding:12px 16px; border-radius:10px; display:none; }
#form-status.ok{ display:block; background:rgba(40,180,90,.12); border:1px solid rgba(40,180,90,.4); color:#8be3ab; }
#form-status.err{ display:block; background:rgba(227,6,19,.12); border:1px solid rgba(227,6,19,.4); color:#ffb3b3; }
.cta-banner{
  background:var(--grad-rojo); border-radius:24px; padding:60px 50px; display:flex; align-items:center;
  justify-content:space-between; gap:30px; flex-wrap:wrap; position:relative; overflow:hidden;
}
.cta-banner::before{
  content:''; position:absolute; width:340px; height:340px; border-radius:50%; background:rgba(255,255,255,.08);
  top:-140px; right:-60px;
}
.cta-banner h3{ font-size:clamp(1.5rem,3vw,2.2rem); max-width:560px; margin-bottom:8px; }
.cta-banner p{ color:rgba(255,255,255,.85); margin:0; }
.cta-banner .btn-ghost{ border-color:#fff; }
.cta-banner .btn-ghost:hover{ background:#fff; color:var(--rojo-oscuro); }
#footer{ background:var(--negro-industrial); padding-top:80px; border-top:1px solid var(--gris-carbon); }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:50px; }
.footer-col h5{ color:#fff; font-size:.95rem; margin-bottom:20px; text-transform:uppercase; letter-spacing:1px; }
.footer-col ul li{ margin-bottom:12px; }
.footer-col ul li a{ color:var(--gris-texto); font-size:.88rem; transition:var(--transition); }
.footer-col ul li a:hover{ color:var(--rojo-brillante); padding-left:4px; }
.footer-about img{ height:48px; margin-bottom:18px; }
.footer-about p{ font-size:.88rem; }
.footer-social{ display:flex; gap:10px; margin-top:16px; }
.footer-bottom{ border-top:1px solid var(--gris-carbon); padding:22px 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.8rem; color:var(--gris-texto); }
.footer-bottom a{ color:var(--gris-texto); }
.footer-bottom a:hover{ color:var(--rojo-brillante); }
.floating-col{ position:fixed; right:24px; bottom:24px; z-index:900; display:flex; flex-direction:column; gap:14px; align-items:center; }
.fab{
  width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.5rem; box-shadow:0 10px 26px rgba(0,0,0,.4); transition:var(--transition); border:none;
}
.fab-whatsapp{ background:#25D366; }
.fab-whatsapp:hover{ transform:scale(1.1); }
.fab-top{ background:var(--negro-carbon); border:1px solid var(--gris-carbon); font-size:1.1rem; opacity:0; visibility:hidden; transform:translateY(10px); }
.fab-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.fab-top:hover{ background:var(--rojo-principal); }
.fab-brochure{ background:var(--grad-rojo); }
.fab-brochure:hover{ transform:scale(1.1); }
.page-header{
  padding:170px 0 70px; background:var(--grad-oscuro); position:relative; overflow:hidden; text-align:center;
}
.page-header::before{
  content:''; position:absolute; width:500px; height:500px; background:var(--rojo-oscuro); opacity:.25; filter:blur(120px);
  top:-200px; left:50%; transform:translateX(-50%); border-radius:50%;
}
.page-header h1{ position:relative; font-size:clamp(2rem,4vw,3rem); }
.breadcrumb{ position:relative; color:var(--gris-texto); font-size:.85rem; }
.breadcrumb a{ color:var(--rojo-brillante); }
.reveal{ opacity:0; transform:translateY(40px); transition:opacity .8s ease, transform .8s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }
.reveal.d1{ transition-delay:.08s; }
.reveal.d2{ transition-delay:.16s; }
.reveal.d3{ transition-delay:.24s; }
.reveal.d4{ transition-delay:.32s; }
.reveal.d5{ transition-delay:.4s; }
.reveal.d6{ transition-delay:.48s; }
@media (max-width:1080px){
  .about-grid, .tech-grid, .contact-grid{ grid-template-columns:1fr; }
  .services-grid{ grid-template-columns:repeat(2,1fr); }
  .ink-grid{ grid-template-columns:repeat(3,1fr); }
  .apps-grid{ grid-template-columns:repeat(2,1fr); }
  .video-grid{ grid-template-columns:repeat(2,1fr); }
  .video-grid .video-item.wide{ grid-column:span 2; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  }
@media (max-width:860px){
  .nav-menu{
    position:fixed; top:0; right:-100%; height:100vh; width:78%; max-width:340px; background:var(--negro-industrial);
    flex-direction:column; align-items:flex-start; padding:110px 30px 30px; gap:2px; transition:right .45s ease;
    box-shadow:-10px 0 40px rgba(0,0,0,.5); overflow-y:auto;
  }
  .nav-menu.open{ right:0; }
  .nav-menu a{ width:100%; padding:14px 6px; border-bottom:1px solid rgba(255,255,255,.06); }
  .burger{ display:flex; }
  .nav-actions .btn-primary span{ display:none; }
  .why-grid{ grid-template-columns:1fr 1fr; }
  .hero-stats .stat{ flex:1 1 42%; margin-bottom:20px; }
}
@media (max-width:640px){
  body.custom-cursor, body.custom-cursor a, body.custom-cursor button{ cursor:auto; }
  #brush-canvas{ display:none; }
  .floating-col{ right:14px; bottom:14px; gap:10px; }
  .fab{ width:46px; height:46px; font-size:1.2rem; }
  .services-grid{ grid-template-columns:1fr; }
  .ink-grid{ grid-template-columns:repeat(2,1fr); }
  .apps-grid{ grid-template-columns:1fr; }
  .video-grid{ grid-template-columns:1fr; }
  .video-grid .video-item.wide{ grid-column:span 1; }
  .insumos-media-grid{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
    .cta-banner{ flex-direction:column; text-align:center; }
  .section-pad{ padding:70px 0; }
  .why-grid{ grid-template-columns:1fr; }
  .about-media .badge{ left:0; }
}

.mv-section{ background-size:cover; background-position:center; }
.mv-overlay{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,8,8,.93),rgba(8,8,8,.84) 50%,rgba(8,8,8,.95)); }
.mv-section .container{ position:relative; z-index:1; }
.mv-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center; }
.mv-media .frame{ border-radius:var(--radius); overflow:hidden; box-shadow:0 30px 60px rgba(0,0,0,.5); border:1px solid var(--gris-carbon); background:#e9ecef; }
.mv-media .frame img{ width:100%; }
.mv-cards{ display:grid; gap:24px; }
.mv-card{ background:rgba(26,26,26,.94); border:1px solid var(--gris-carbon); border-left:4px solid var(--rojo-principal); border-radius:var(--radius); padding:32px 30px; transition:var(--transition); }
.mv-card:hover{ transform:translateX(6px); border-color:rgba(227,6,19,.55); }
.mv-card .ic{ width:52px; height:52px; border-radius:12px; background:var(--grad-rojo); display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.3rem; margin-bottom:16px; }
.mv-card h3{ font-size:1.5rem; margin-bottom:10px; }
.mv-card p{ margin:0; color:#d4d4d4; font-size:1.02rem; }

.resist-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:44px; }
.resist-item{ display:flex; align-items:center; gap:16px; background:var(--negro-industrial); border:1px solid var(--gris-carbon); border-radius:var(--radius); padding:20px 22px; font-weight:600; font-size:.92rem; color:#eaeaea; }
.resist-item i{ color:var(--rojo-brillante); font-size:1.5rem; min-width:30px; text-align:center; }

.tij-media{ display:flex; gap:10px; align-items:center; justify-content:center; }
.tij-media img{ flex:1 1 0; min-width:0; border-radius:10px; aspect-ratio:1/1; object-fit:cover; }

.catalog-intro{ display:flex; gap:30px; align-items:center; justify-content:space-between; flex-wrap:wrap; background:var(--negro-carbon); border:1px solid var(--gris-carbon); border-radius:var(--radius); padding:26px 30px; margin-bottom:34px; }
.catalog-intro p{ margin:0; flex:1 1 420px; }
.banner-wide{ margin-bottom:46px; border-radius:var(--radius); overflow:hidden; border:1px solid var(--gris-carbon); }
.banner-wide img{ width:100%; }
@media (min-width:1001px){ .services-grid.cols-3{ grid-template-columns:repeat(3,1fr); } }

.mant-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:center; }
.mant-media .frame{ border-radius:var(--radius); overflow:hidden; box-shadow:0 30px 60px rgba(0,0,0,.5); border:1px solid var(--gris-carbon); background:#e9ecef; }
.mant-media .frame img{ width:100%; }
.mant-cards{ display:grid; gap:18px; }
.mant-card{ display:flex; gap:18px; align-items:flex-start; background:var(--negro-industrial); border:1px solid var(--gris-carbon); border-radius:var(--radius); padding:24px 26px; transition:var(--transition); }
.mant-card:hover{ border-color:var(--rojo-principal); transform:translateX(6px); }
.mant-card .ic{ width:48px; min-width:48px; height:48px; border-radius:12px; background:var(--grad-rojo); display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.15rem; }
.mant-card h4{ margin:0 0 6px; font-size:1.05rem; }
.mant-card p{ margin:0; font-size:.94rem; }
.field-gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:50px; }
.field-gallery img{ width:100%; height:270px; object-fit:cover; border-radius:var(--radius); border:1px solid var(--gris-carbon); }

@media (max-width:860px){
  .mv-grid, .mant-grid, .resist-grid{ grid-template-columns:1fr; }
  .field-gallery{ grid-template-columns:repeat(2,1fr); }
  .field-gallery img{ height:210px; }
}

.parts-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:34px; }
.parts-grid .media-card img{ background:#fff; object-fit:contain; }
@media (max-width:860px){ .parts-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .parts-grid{ grid-template-columns:1fr; } }

@media (max-width:640px){ .about-media .years-ring{ right:8px; } }
html{ overflow-x:hidden; }


/* ===== Actualización: insumos, mantenimiento, redes, clientes ===== */
.insumos-banner{ position:relative; margin-top:50px; margin-bottom:20px; }
.insumos-banner img{ height:360px; object-fit:cover; }
.insumos-banner .cap{ position:absolute; left:0; right:0; bottom:0; padding:18px 22px; background:linear-gradient(0deg, rgba(0,0,0,.9), transparent); font-weight:700; font-size:1rem; color:#fff; }
.insumos-media-grid{ margin-top:20px; }
.insumos-media-grid .media-card img{ height:280px; }
.freq-pills{ display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.freq-pills span{ display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:999px; font-size:.78rem; font-weight:700; color:#fff; background:rgba(227,6,19,.14); border:1px solid rgba(227,6,19,.4); }
.tag-main{ display:inline-block; margin-left:6px; padding:2px 8px; border-radius:999px; font-size:.65rem; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:#fff; background:var(--grad-rojo); vertical-align:middle; }
.social-row, .footer-social{ flex-wrap:wrap; }
.marquee-track .logo-box.logo-text span{ font-family:'Poppins',sans-serif; font-weight:700; font-size:.98rem; line-height:1.15; color:#8a5a14; text-align:center; }
.marquee-track .logo-box.logo-text span b{ display:block; font-size:1.5rem; color:#c0392b; }
@media (max-width:1080px){ .insumos-banner img{ height:280px; } }
@media (max-width:640px){ .insumos-banner img{ height:200px; } .insumos-media-grid .media-card img{ height:240px; } }


/* ===== Blog (integrado desde la primera versión) ===== */
   BLOG
   ===================================================== */
.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.blog-card{ background:var(--negro-carbon); border:1px solid var(--gris-carbon); border-radius:var(--radius); overflow:hidden; transition:var(--transition); }
.blog-card:hover{ transform:translateY(-8px); border-color:rgba(227,6,19,.4); box-shadow:0 20px 40px rgba(0,0,0,.4); }
.blog-thumb{ position:relative; aspect-ratio:16/10; overflow:hidden; }
.blog-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.blog-card:hover .blog-thumb img{ transform:scale(1.08); }
.blog-cat{ position:absolute; top:14px; left:14px; background:var(--grad-rojo); font-size:.68rem; font-weight:700; padding:5px 12px; border-radius:50px; text-transform:uppercase; }
.blog-body{ padding:24px; }
.blog-meta{ display:flex; gap:16px; font-size:.76rem; color:var(--gris-texto); margin-bottom:12px; text-transform:uppercase; letter-spacing:.5px; }
.blog-meta span{ display:flex; align-items:center; gap:6px; }
.blog-body h4{ font-size:1.08rem; margin-bottom:10px; }
.blog-body p{ font-size:.88rem; }
.blog-readmore{ font-size:.85rem; font-weight:700; color:var(--rojo-brillante); display:inline-flex; align-items:center; gap:6px; margin-top:6px; }
.blog-readmore i{ transition:var(--transition); }
.blog-card:hover .blog-readmore i{ transform:translateX(5px); }
/* =====================================================
   PAGE HEADER (para blog listing / posts)
   ===================================================== */
.page-header{
  padding:170px 0 70px; background:var(--grad-oscuro); position:relative; overflow:hidden; text-align:center;
}
.page-header::before{
  content:''; position:absolute; width:500px; height:500px; background:var(--rojo-oscuro); opacity:.25; filter:blur(120px);
  top:-200px; left:50%; transform:translateX(-50%); border-radius:50%;
}
.page-header h1{ position:relative; font-size:clamp(2rem,4vw,3rem); }
.breadcrumb{ position:relative; color:var(--gris-texto); font-size:.85rem; }
.breadcrumb a{ color:var(--rojo-brillante); }
@media (max-width:1080px){ .blog-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .blog-grid{ grid-template-columns:1fr; } }
/* miniaturas/hero con PNG transparente (insumos) */
.blog-thumb img[src$=".png"], .post-hero-img img[src$=".png"]{ object-fit:contain; padding:14px; background:radial-gradient(circle at 50% 45%, #2a2a2a 0%, #0f0f0f 100%); }

/* ===== Insumos con fondo transparente ===== */
.insumos-banner, .insumos-media-grid .media-card{ background:radial-gradient(circle at 50% 42%, #2a2a2a 0%, #0f0f0f 100%); }
.insumos-banner img{ object-fit:contain; padding:14px 0; }
.insumos-media-grid .media-card img{ object-fit:contain; padding:16px; background:transparent; }

/* Estadísticas del hero: números del mismo tamaño y etiquetas descriptivas */
.hero-stats .stat h3 span{ font-size:inherit; color:inherit; text-transform:none; letter-spacing:0; }
.hero-stats .stat h3 .plus{ color:var(--rojo-brillante); }
.hero-stats .stat h3 .slash{ color:var(--rojo-brillante); margin-left:2px; }
.hero-stats .stat .stat-label{ display:block; line-height:1.35; max-width:190px; }
/* El indicador "Desplázate" va a la derecha para no tapar las estadísticas */
.scroll-hint{ left:auto !important; right:48px; transform:none !important; }
@media (max-width:860px){ .scroll-hint{ display:none; } }
