:root{--primary:#f45b2a;--primary-dark:#d94718;--secondary:#ffd233;--black:#1b1b1b;--gray:#666;--light:#f8f8f8;--white:#fff;--border:#e2e2e2;--sans:"Roboto", sans-serif;--heading:"Montserrat", sans-serif;--radius-lg:22px;--radius-md:14px;--radius-pill:999px;--shadow-card:0 10px 25px #00000014;--shadow-card-hover:0 12px 30px #0000001a;--shadow-elevated:0 20px 40px #00000026;--section-padding:clamp(60px, 8vw, 100px) 0;--title-size:clamp(2.8rem, 5vw, 5rem)}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:49px;overflow-x:hidden}@supports (overflow:clip){html{overflow-x:clip}}body{font-family:var(--sans);color:var(--black);overflow-x:hidden}h1,h2,h3,h4{font-family:var(--heading)}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}.container{width:100%;max-width:1140px;margin:0 auto;padding:0 20px}.text-center{text-align:center}.section-tag{font-family:var(--heading);letter-spacing:2.5px;color:var(--primary);text-transform:uppercase;background:#f45b2a14;border-radius:40px;margin-bottom:8px;padding:.3rem 1.2rem;font-size:.7rem;font-weight:600;display:inline-block}.navbar{z-index:100;background:#fff;border-bottom:1px solid #ececec;padding:20px 0;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;display:flex}.navbar-brand img{width:120px;height:auto}.navbar-toggler{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.navbar-toggler span{background:var(--black);border-radius:2px;width:25px;height:2px;transition:all .3s;display:block}.navbar-toggler.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.navbar-toggler.active span:nth-child(2){opacity:0}.navbar-toggler.active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.navbar-menu{border-radius:24px 0 0 24px;display:flex}.navbar-close{display:none}.navbar-nav{display:flex}.nav-link{font-family:var(--heading);color:#111;text-transform:uppercase;margin-left:25px;font-size:13px;font-weight:500;transition:color .3s;position:relative}.nav-link:after{content:"";background:var(--primary);width:0;height:2px;transition:width .3s;position:absolute;bottom:-6px;left:0}.nav-link:hover{color:var(--primary)}.nav-link:hover:after{width:100%}.nav-link:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.hero{padding:20px 0}.hero-grid{grid-template-columns:1fr 1fr;align-items:center;gap:40px;display:grid}.hero-subtitle{color:var(--primary);font-family:var(--sans);letter-spacing:2px;font-size:12px;font-weight:500}.hero-title{margin-block:20px 30px;font-size:clamp(3rem,6vw,5.6rem);font-weight:900;line-height:1.05}.text-yellow{color:var(--secondary)}.text-orange{color:var(--primary)}.hero-description{color:var(--black);max-width:550px;font-size:13px;line-height:1.8}.hero-button{background:var(--primary);color:var(--white);border-radius:var(--radius-pill);font-family:var(--heading);text-transform:uppercase;margin-top:35px;padding:15px 35px;font-weight:500;transition:background .3s;display:inline-block}.hero-button:hover{background:#d64a1d}.hero-cards{height:clamp(320px,50vw,650px);position:relative}.hero-cards>div{box-shadow:var(--shadow-elevated);will-change:top, left;border-radius:35px;animation:15s ease-in-out infinite card-position-cycle;position:absolute;overflow:hidden}.hero-cards .card-yellow{width:clamp(130px,18vw,240px);animation-delay:0s}.hero-cards .card-white{width:clamp(130px,18vw,240px);animation-delay:-5s}.hero-cards .card-orange{width:clamp(130px,18vw,220px);animation-delay:-10s}@keyframes card-position-cycle{0%,25%{top:10%;left:54%}33%,58%{top:34%;left:3%}66%,91%{top:60%;left:51%}to{top:10%;left:54%}}@media (prefers-reduced-motion:reduce){.hero-cards>div{animation:none}}.promesa{padding-top:clamp(40px,6vw,70px);padding-bottom:clamp(60px,8vw,100px)}.promesa-inner{text-align:center;max-width:1100px;margin:0 auto}.promesa .section-tag{margin-bottom:8px}.promesa-title{font-size:var(--title-size);text-transform:uppercase;color:var(--black);margin-block:0 24px;font-weight:900;line-height:1}.promesa-text{max-width:620px;color:var(--black);margin:0 auto;font-size:.9rem;line-height:1.8}.problema{background:var(--black);padding-top:clamp(40px,6vw,70px);padding-bottom:clamp(60px,8vw,100px)}.problema-inner{text-align:center;max-width:1100px;margin:0 auto}.problema .section-tag{margin-bottom:8px}.problema-title{font-size:var(--title-size);text-transform:uppercase;color:var(--white);margin-block:0 24px;font-weight:900;line-height:1}.problema-text{max-width:600px;color:var(--white);margin:0 auto;font-size:.9rem;line-height:1.8}.servicios{padding:clamp(60px,10vw,100px) 0}.servicios-encabezado{max-width:1000px;margin-bottom:60px}.servicios-title{font-size:var(--title-size);letter-spacing:-.05em;text-transform:uppercase;color:var(--black);margin:0;font-weight:900;line-height:.95}.servicios-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.servicio-card{background:var(--light);border-radius:var(--radius-lg);background-position:50%;background-size:cover;padding:40px 30px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.servicio-card:before{content:"";z-index:0;background:#161010bf;position:absolute;inset:0}.servicio-card-body{z-index:1;position:relative}.servicio-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-6px)}.servicio-card h3{text-transform:uppercase;color:#d6d4d4;margin-bottom:16px;font-size:1.2rem;font-weight:800;line-height:1.5}.servicio-card p{color:var(--white);font-size:.9rem;font-weight:500;line-height:1.8}.proyectos{background:var(--white);padding-top:clamp(30px,5vw,80px);padding-bottom:clamp(60px,10vw,130px)}.proyectos-encabezado{max-width:650px;margin-bottom:75px}.proyectos-title{font-size:var(--title-size);letter-spacing:-.05em;color:var(--black);margin-block:0 12px;font-weight:900;line-height:.9}.proyectos-intro{color:#222;max-width:580px;margin:0;font-size:.9rem;line-height:1.5}.proyectos-grid{grid-template-columns:repeat(4,1fr);display:grid}.proyecto-item{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--white);cursor:pointer;min-height:300px;padding:30px 18px;transition:transform .3s;position:relative;overflow:hidden}.proyecto-item:nth-child(4n){border-right:none}.proyecto-item:nth-child(n+5){border-bottom:none}.proyecto-bg{z-index:0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.proyecto-bg img{object-fit:contain;opacity:1;width:100%;height:100%;max-height:87px;transition:opacity .4s;transform:translateY(-26px)}.proyecto-item[data-num="02"] .proyecto-bg img{max-height:130px}.proyecto-item[data-num="05"] .proyecto-bg img{max-height:180px}.proyecto-overlay{z-index:1;background:linear-gradient(#ffffff80 0%,#fff3 50%,#ffffff08 100%);transition:opacity .4s;position:absolute;inset:0}.proyecto-numero{z-index:2;font-family:var(--heading);font-size:.9rem;font-weight:700;display:none;position:absolute;top:4px;right:14px}.numero-amarillo{color:var(--secondary)}.numero-naranjo{color:var(--primary)}.proyecto-active .proyecto-bg img{opacity:1}.proyecto-active .proyecto-overlay{background:radial-gradient(circle at 0 0,#ffd23373 0%,#0000 60%),radial-gradient(circle at 100% 100%,#f45b2a73 0%,#0000 60%)}.proyecto-active .proyecto-numero{color:var(--primary)}.soluciones{background:#f4f4f4;padding-top:clamp(30px,5vw,60px);padding-bottom:clamp(80px,10vw,110px);position:relative}.soluciones-encabezado{max-width:650px;margin-bottom:70px}.soluciones-title{font-size:var(--title-size);letter-spacing:-.05em;text-transform:uppercase;color:var(--black);margin-block:0 18px;font-weight:900;line-height:.95}.soluciones-intro{color:#1f1f1f;max-width:600px;margin:0;font-size:.95rem;line-height:1.6}.soluciones-layout{align-items:stretch;gap:30px;margin-bottom:40px;display:flex}.solucion-card{aspect-ratio:4/3;background:var(--black);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:24px;flex-direction:column;flex:1;padding:24px 33px;transition:transform .35s,box-shadow .35s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #00000029}.solucion-card:before{content:"";z-index:0;background:#000000bf;position:absolute;inset:0}.solucion-card:hover{transform:translateY(-8px);box-shadow:0 20px 38px #0003}.solucion-contenido{z-index:1;flex-direction:column;height:100%;display:flex;position:relative}.solucion-card h3{text-transform:uppercase;color:#d6d4d4;margin-bottom:12px;font-size:1.7rem;font-weight:800;line-height:1.2}.solucion-lista{flex:1;margin:0;padding:0;list-style:none}.solucion-lista li{color:#eee7e7;margin-bottom:8px;padding-left:20px;font-size:.9rem;font-weight:500;line-height:1.5;position:relative}.solucion-lista li:before{content:"•";color:var(--black);font-size:1.2rem;font-weight:700;position:absolute;left:0}.solucion-lista li:last-child{margin-bottom:0}.solucion-card-uno .solucion-lista li:before,.solucion-card-tres .solucion-lista li:before,.solucion-card-dos .solucion-lista li:before{color:#f7f4f4}.soluciones-accion{text-align:left;margin-top:20px}.btn-soluciones{border-radius:var(--radius-pill);background:var(--primary);color:var(--white);font-family:var(--heading);text-transform:uppercase;cursor:pointer;border:none;margin-top:35px;padding:15px 35px;font-weight:500;transition:background .3s;display:inline-block}.btn-soluciones:hover{background:#d64a1d}@media (width<=768px){.soluciones-layout{flex-direction:column;gap:20px}.solucion-card{padding:24px}.soluciones-encabezado{margin-bottom:40px}}.proceso{background:var(--white);padding:70px 0 20px}.proceso-header{text-align:center;max-width:1000px;margin:0 auto}.proceso-title{font-weight:900;font-size:var(--title-size);text-transform:uppercase;margin:15px 0 20px;line-height:1}.proceso-text{max-width:620px;color:var(--black);margin:auto;line-height:1.8}.timeline{max-width:1100px;margin:100px auto 0;position:relative}.timeline:before{content:"";z-index:0;background-image:repeating-linear-gradient(90deg,#d8d8d8 0 14px,#0000 14px 28px);height:4px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.timeline-grid{grid-template-rows:1fr auto 1fr;grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.timeline-item{z-index:1;grid-template-rows:subgrid;grid-row:span 3;gap:20px;display:grid;position:relative}.timeline-item:nth-child(odd){grid-template-areas:"image""dot""card"}.timeline-item:nth-child(2n){grid-template-areas:"card""dot""image"}.timeline-image{border-radius:var(--radius-md);grid-area:image;justify-self:center;width:110px;height:110px;overflow:hidden;box-shadow:0 10px 25px #0000001a}.timeline-image img{object-fit:cover;width:100%;height:100%;display:block}.dot{z-index:3;border-radius:50%;grid-area:dot;place-self:center;width:18px;height:18px}.dot.orange{background:var(--primary)}.dot.yellow{background:#ffe11a}.timeline-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:#fcf8f8;border:none;grid-area:card}.timeline-card-body{padding:30px}.timeline-card-body small{color:#999;font-family:var(--heading);margin-bottom:15px;display:block}.timeline-card-body h4{margin-bottom:15px;font-weight:700}.timeline-card-body p{color:#444;font-size:15px;line-height:1.6}@media (width>=992px){.timeline-item:nth-child(odd) .timeline-image{align-self:end}}.nosotros{background:var(--white);padding-block:0 clamp(80px,10vw,130px)}.nosotros-encabezado{text-align:center;max-width:1100px;margin:20px auto 85px}.nosotros .section-tag{margin-bottom:15px}.nosotros-title{font-size:var(--title-size);letter-spacing:-.04em;text-transform:uppercase;color:var(--black);margin-block:5px 20px;font-weight:900;line-height:1}.nosotros-intro{color:#222;max-width:680px;margin:0 auto;font-size:1rem;line-height:1.5}.equipo-grid{grid-template-columns:repeat(2,1fr);align-items:center;gap:48px;display:grid}.equipo-item{align-items:center;gap:28px;display:grid}.equipo-foto{border-radius:50%;width:160px;height:160px;margin:0 auto;overflow:hidden;box-shadow:0 10px 25px #00000026}.equipo-foto img{object-fit:cover;width:100%;height:100%;display:block}.equipo-info{text-align:center}.equipo-info h3{color:var(--black);margin:0;font-size:2rem;font-weight:800;line-height:1}.equipo-cargo,.equipo-profesion{color:var(--primary);font-size:.75rem;line-height:1.25;display:block}.equipo-profesion{margin-bottom:18px}.contacto{background:var(--black)}.contacto-cta{background:radial-gradient(circle at 50% 0%, #f6521e1a, transparent 55%), var(--black);border-bottom:1px solid #ffffff59;padding:clamp(60px,8vw,95px) 20px}.contacto-title{font-size:var(--title-size);letter-spacing:-.03em;text-transform:uppercase;color:var(--white);margin-block:0 42px;font-weight:900;line-height:1.05}.btn-contacto{border-radius:var(--radius-pill);background:var(--secondary);min-width:240px;font-family:var(--heading);text-transform:uppercase;color:var(--black);justify-content:center;align-items:center;padding:18px 40px;font-size:.82rem;font-weight:700;transition:transform .3s,background .3s;display:inline-flex}.btn-contacto:hover{background:#fff038;transform:translateY(-4px)}.footer{background:var(--black);padding:50px 0}.footer-inner{justify-content:space-between;align-items:center;gap:40px;display:flex}.footer-logo{width:110px}.footer-right{text-align:right}.footer-title{color:var(--white);margin-bottom:25px;font-size:clamp(2rem,3vw,3.4rem);font-weight:500}.footer-link{color:var(--white);margin-bottom:12px;font-size:1.25rem;transition:color .3s;display:block}.footer-phone{font-family:var(--heading);color:var(--secondary);font-size:1.4rem;font-weight:800}.footer-link:hover{color:var(--primary)}.footer-phone:hover{color:var(--white)}.footer-icon{vertical-align:middle;margin-left:8px;font-size:.9em}.proyecto-detalle-vacio{padding:var(--section-padding);text-align:center}.section-tag-proyecto{font-family:var(--heading);letter-spacing:2.5px;color:var(--primary);text-transform:uppercase;background:#f45b2a14;border-radius:40px;margin-bottom:16px;padding:.3rem 1.2rem;font-size:.7rem;font-weight:600;display:inline-block}.pd-hero{text-align:center;padding:clamp(50px,8vw,90px) 20px 60px}.pd-tagline{color:var(--primary);font-family:var(--heading);letter-spacing:2px;text-transform:uppercase;margin-bottom:30px;font-size:.7rem;font-weight:600;display:block}.pd-logo{width:100%;max-width:620px;margin:0 auto 35px}.pd-logo--small{max-width:370px}.pd-meta{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.pd-meta-item{border-radius:var(--radius-pill);background:var(--light);color:var(--black);padding:8px 18px;font-size:.78rem}.pd-resumen{background:var(--light)}.pd-resumen-grid{grid-template-columns:1fr 1fr;align-items:center;gap:50px;padding-block:24px 60px;display:grid}.pd-resumen-texto h2{text-transform:uppercase;color:var(--black);margin-block:14px 20px;font-size:clamp(1.8rem,3vw,3.4rem);font-weight:900;line-height:1.1}.pd-resumen-texto p{color:var(--black);font-size:.9rem;line-height:1.7;font-family:var(--sans)}.pd-resumen-imagen{border-radius:var(--radius-lg);aspect-ratio:4/3;background:#e4e4e4;overflow:hidden}.pd-resumen-imagen--sustancial{aspect-ratio:3/2}.pd-resumen-texto:only-child{grid-column:1/-1}.pd-resumen-imagen img{object-fit:cover;width:100%;height:100%}.pd-detalles{background:var(--black);padding-block:clamp(40px,6vw,60px)}.pd-detalles-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.pd-detalle-card{background:#ffffff0d;border-radius:20px;padding:32px}.pd-detalle-card h3{color:var(--white);font-size:1.4rem;font-weight:800;font-family:var(--sans);margin-bottom:14px}.pd-detalle-card p{color:#ffffffbf;font-size:.9rem;line-height:1.6;font-family:var(--sans)}.pd-aplicaciones{padding-block:clamp(50px,7vw,80px)}.pd-aplicaciones-header{grid-template-columns:1fr 1fr;align-items:center;gap:50px;margin-bottom:40px;display:grid}.pd-aplicaciones-imagen{border-radius:var(--radius-lg);aspect-ratio:4/3;background:#e4e4e4;overflow:hidden}.pd-aplicaciones-imagen img{object-fit:cover;width:100%;height:100%}.pd-aplicaciones-texto:only-child{grid-column:1/-1}.pd-aplicaciones h2{text-transform:uppercase;color:var(--black);margin-block:12px 16px;font-size:clamp(1.8rem,3vw,3.4rem);font-weight:900;line-height:1.1}.pd-aplicaciones p{max-width:560px;color:var(--black);font-size:.9rem;line-height:1.6;font-family:var(--sans);margin-bottom:50px}.pd-aplicaciones-header p{margin-bottom:0}.pd-aplicacion-bloque{margin-bottom:48px}.pd-aplicacion-bloque h4{color:var(--black);font-size:1.1rem;font-weight:800;font-family:var(--heading);margin-bottom:7px}.pd-aplicacion-bloque p{max-width:520px;color:var(--gray);font-size:.9rem;line-height:1.5;font-family:var(--heading);margin-bottom:18px}.pd-aplicacion-caja{border-radius:var(--radius-lg);aspect-ratio:12/3;justify-content:center;align-items:center;display:flex;overflow:hidden}.pd-aplicacion-caja img{object-fit:contain;width:100%;height:100%}.pd-caja-amarillo{background:linear-gradient(135deg,#fffdf5,#fff7b0)}@media (width<=767px){.pd-resumen-grid{grid-template-columns:1fr}.pd-aplicaciones-header{grid-template-columns:1fr;gap:30px;margin-bottom:30px}.pd-detalles-grid{grid-template-columns:1fr;gap:16px}.pd-detalle-card{padding:20px}.pd-detalle-card h3{font-size:.95rem}.pd-detalle-card p{font-size:.8rem}.pd-aplicaciones{padding-block:50px 60px}}@media (width<=991px){.navbar-toggler{display:flex}.navbar-menu{background:var(--white);visibility:hidden;z-index:99;flex-direction:column;width:280px;height:auto;padding:70px 30px 24px;transition:transform .3s,visibility 0s linear .3s;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-4px 0 20px #0000001a}.navbar-close{cursor:pointer;color:var(--black);background:0 0;border:none;font-size:36px;line-height:1;display:block;position:absolute;top:20px;right:20px}.navbar-menu.open{visibility:visible;transition:transform .3s,visibility;transform:translate(0)}.navbar-nav{flex-direction:column;gap:4px}.nav-link{margin-left:0;padding:10px 0;font-size:17px}.nav-link:after{bottom:4px}.hero-grid{text-align:center;grid-template-columns:1fr}.hero-description{margin:0 auto}.servicios-grid,.proyectos-grid{grid-template-columns:repeat(2,1fr)}.proyecto-item:nth-child(2n){border-right:none}.soluciones-layout{flex-direction:column;gap:24px;min-height:auto;display:flex}.solucion-card{aspect-ratio:auto;width:100%}.timeline{margin-top:60px}.timeline:before{background-image:repeating-linear-gradient(#d8d8d8 0 14px,#0000 14px 28px);width:4px;height:100%;top:0;left:20px;right:auto;transform:none}.timeline-grid{grid-template-rows:none;grid-template-columns:1fr;gap:30px}.timeline-item,.timeline-item:nth-child(odd),.timeline-item:nth-child(2n){grid-row:span 2;grid-template-rows:auto auto;grid-template-areas:"image""card";gap:12px;padding-left:60px}.timeline-image{justify-self:start;width:100%;max-width:280px;height:180px}.timeline-image img{object-fit:contain}.dot{position:absolute;top:90px;left:13px}.timeline-card{width:100%}.equipo-grid{grid-template-columns:1fr;gap:40px}.footer-inner{gap:30px}}@media (width<=575px){.container{padding-inline:16px}.hero-title,.promesa-title,.problema-title,.servicios-title,.proyectos-title,.soluciones-title,.proceso-title,.nosotros-title,.contacto-title,.footer-title{text-align:center}.section-tag,.hero-button,.btn-soluciones,.btn-contacto{width:fit-content;margin-inline:auto;display:block}.hero{padding:40px 0}.hero-title{margin-block:16px 24px;font-size:clamp(1.9rem,8.5vw,2.6rem)}.hero-cards{overflow:hidden}.hero-cards>div{width:clamp(110px,34vw,130px)}:root{--title-size:clamp(1.8rem, 7vw, 2.5rem)}.proyectos-title,.soluciones-title{font-size:clamp(2rem,8vw,2.7rem)}.servicios{padding-block:60px}.servicios-grid{grid-template-columns:1fr}.servicio-card{padding:28px 24px}.proyectos{padding-block:60px 80px}.proyectos-grid{grid-template-columns:1fr}.proyecto-item{min-height:280px;border-right:none!important}.proyecto-item:nth-child(n+5){border-bottom:1px solid var(--border)}.proyecto-item:last-child{border-bottom:none}.soluciones{padding-block:60px 80px}.solucion-card{padding:28px}.proceso{padding-block:60px 20px}.timeline-image{max-width:100%;height:160px}.timeline-image img{object-fit:contain}.timeline-card-body{padding:24px}.timeline-card-body p{font-size:14px}.nosotros{padding-block:0 80px}.equipo-item{text-align:center}.contacto-cta{padding-block:60px 65px;padding-inline:16px}.contacto-title{font-size:clamp(1.8rem,8vw,3rem)}.footer{padding:40px 0}.footer-inner{text-align:center;flex-direction:column}.footer-right{text-align:center}.footer-title{font-size:1.6rem}.footer-link{font-size:.95rem}.footer-phone{font-size:1.1rem}}
