:root{--navy:#18243a;--purple:#515085;--blue:#168fda;--coral:#ff5864;--cream:#f8f7f4;--paper:#fff;--text:#1d293d;--muted:#6f7785;--line:#e7e8eb;--font:'Manrope',sans-serif;--display:'Space Grotesk',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--font);line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{position:fixed;z-index:50;inset:0 0 auto;background:rgba(255,255,255,.94);box-shadow:0 3px 20px rgba(25,35,55,.06);backdrop-filter:blur(14px)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between}.brand img{width:140px;height:58px;object-fit:cover;object-position:center 55%}.main-nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:700}.main-nav>a:not(.nav-cta){color:#687181}.main-nav>a:hover,.main-nav>a.active{color:var(--coral)}.nav-cta{background:var(--coral);color:#fff;padding:11px 22px;border-radius:999px;box-shadow:0 8px 20px rgba(255,88,100,.2)}.menu-button{display:none;background:none;border:0;padding:10px}.menu-button span{display:block;width:24px;height:2px;background:var(--navy);margin:6px}
.hero{position:relative;padding:118px 0 80px;background:#fff}.hero-glow,.scroll-cue{display:none}.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:630px}.hero-copy{background:var(--purple);color:#fff;padding:80px 64px;border-radius:28px 0 0 28px;display:flex;flex-direction:column;justify-content:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:800;color:var(--coral)}.eyebrow:before{content:'✓';font-size:12px}.hero h1{font:700 clamp(62px,7vw,96px)/.94 var(--display);letter-spacing:-.055em;margin:20px 0 25px}.hero h1 span{color:#fff}.hero-copy>p{font-size:15px;color:rgba(255,255,255,.78)}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 22px;border-radius:6px;font-size:12px;font-weight:800;transition:.22s}.button:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(20,29,50,.16)}.button-primary{background:var(--coral);color:#fff}.button-secondary{background:#fff;color:#3e3d70}.hero-proof{display:flex;gap:20px;margin-top:34px;font-size:9px;text-transform:uppercase;color:rgba(255,255,255,.7)}.hero-proof span:before{content:'✓';margin-right:5px}.hero-visual{min-width:0}.visual-frame{height:100%;position:relative;overflow:hidden;border-radius:0 28px 28px 0;background:#eee}.visual-main{position:absolute;inset:0}.visual-main img{width:100%;height:100%;object-fit:cover;object-position:center}.layer-card{display:none}.visual-tag{position:absolute;z-index:2;padding:9px 13px;background:#fff;color:var(--purple);font-size:9px;font-weight:800;letter-spacing:.14em;box-shadow:0 8px 20px rgba(20,25,40,.18)}.tag-one{left:20px;top:24px}.tag-two{right:20px;top:48%}.tag-three{left:20px;bottom:24px}
.section{padding:110px 0}.split-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.section-number{display:block;color:#a0a6b0;font:700 10px var(--display);margin-bottom:20px}.section-heading h2,.section-title-row h2,.center-heading h2{font:700 clamp(42px,5.2vw,70px)/1 var(--display);letter-spacing:-.05em;margin-top:15px;color:var(--navy)}h2 em{font-style:normal;color:var(--coral)}.about-copy{padding-top:48px}.about-copy p{color:var(--muted)}.about-copy .lead{font:600 clamp(22px,2.5vw,30px)/1.4 var(--display);color:var(--navy)}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:38px;padding-top:26px}.stat-row strong{display:block;font:700 28px var(--display);color:var(--purple)}.stat-row span{font-size:9px;text-transform:uppercase;color:#8a919d}
.services,.faq{background:var(--cream)}.section-title-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-title-row>p{max-width:350px;color:var(--muted);font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{background:#fff;min-height:325px;padding:28px;border-radius:18px;box-shadow:0 12px 35px rgba(29,41,61,.06);transition:.25s}.service-card:hover{transform:translateY(-7px)}.service-card>span{color:#a1a6b0;font-size:10px}.service-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#f1effb;color:var(--purple);font-size:23px;margin:48px 0 34px}.service-card:nth-child(even) .service-icon{background:#fff0f1;color:var(--coral)}.service-card h3{font:700 20px/1.15 var(--display);color:var(--navy)}.service-card p{font-size:12px;color:var(--muted)}.text-link{font-size:12px;font-weight:800;color:var(--coral);border-bottom:1px solid}.type-list{border-top:1px solid var(--line)}.type-row{display:grid;grid-template-columns:65px 1.1fr 1.7fr 40px;align-items:center;gap:26px;padding:26px 8px;border-bottom:1px solid var(--line);transition:.2s}.type-row:hover{padding-left:18px;background:#faf9f7}.type-row>span{font-size:10px;color:#a2a8b2}.type-row h3{font:700 22px var(--display);color:var(--navy)}.type-row p{margin:0;font-size:12px;color:var(--muted)}.type-row>a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--coral);color:#fff}
.process{background:var(--purple);color:#fff}.process .section-number{color:rgba(255,255,255,.55)}.process .eyebrow,.process .center-heading h2{color:#fff}.process .center-heading h2 em{color:#ffb9be}.center-heading{text-align:center}.process-line{display:grid;grid-template-columns:repeat(5,1fr);margin-top:65px;position:relative}.process-line:before{content:'';position:absolute;left:10%;right:10%;top:41px;height:1px;background:rgba(255,255,255,.35)}.process-step{text-align:center;position:relative}.process-step span{font-size:9px;color:rgba(255,255,255,.65)}.process-step i{display:block;width:14px;height:14px;border:4px solid var(--purple);background:var(--coral);border-radius:50%;margin:27px auto;position:relative;z-index:2;box-shadow:0 0 0 1px rgba(255,255,255,.6)}.process-step h3{font:600 14px var(--display);padding:0 15px}.faq details{border-bottom:1px solid #dfe1e5;padding:21px 0}.faq summary{cursor:pointer;list-style:none;font:600 16px var(--display);display:flex;justify-content:space-between;color:var(--navy)}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:20px;color:var(--coral)}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{color:var(--muted);font-size:13px}
.contact{padding:105px 0;background:var(--purple);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr .85fr;gap:80px;align-items:center}.contact-inner .eyebrow{color:#ffb9be}.contact h2{font:700 clamp(52px,7vw,88px)/.95 var(--display);letter-spacing:-.055em;margin:18px 0}.contact h2 em{color:#ffb9be}.contact p{color:rgba(255,255,255,.72)}.button-light{background:var(--coral);color:#fff}.contact-form{background:#fff;color:var(--navy);padding:32px;border-radius:18px;box-shadow:0 25px 60px rgba(25,25,50,.2)}.contact-form label{display:grid;gap:6px;font-size:10px;font-weight:800;margin-bottom:14px;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;border:1px solid #dfe1e7;background:#f8f8fa;color:var(--navy);padding:12px;font:inherit;border-radius:5px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--purple)}.contact-form button{border:0;cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-notice{padding:10px;margin-bottom:14px;font-size:12px}.form-notice.success{background:#ebf8f1;color:#17734a}.form-notice.error{background:#fff0f1;color:#a42c37}.hp{position:absolute!important;left:-9999px!important}
.catalog-hero{padding:165px 0 80px;background:var(--purple);color:#fff}.catalog-hero h1{font:700 clamp(56px,7vw,92px)/.96 var(--display);letter-spacing:-.055em;margin:18px 0}.catalog-hero h1 em{font-style:normal;color:#ffb9be}.catalog-hero p{max-width:620px;color:rgba(255,255,255,.72)}.catalog-section{padding:75px 0 115px;background:var(--cream);min-height:500px}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(30,42,60,.07);transition:.25s}.product-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(30,42,60,.14)}.product-image{aspect-ratio:4/4.1;background:#e6e6e6;overflow:hidden;position:relative}.product-image img{width:100%;height:100%;object-fit:cover;transition:.5s}.product-card:hover .product-image img{transform:scale(1.035)}.product-image span{position:absolute;top:14px;left:14px;background:var(--coral);color:#fff;padding:6px 10px;border-radius:4px;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.product-content{padding:24px}.product-content h2{font:700 21px var(--display);color:var(--navy)}.product-content p{font-size:12px;color:var(--muted);min-height:58px}.product-cta{display:flex;justify-content:space-between;align-items:center;background:var(--purple);color:#fff;margin:20px -24px -24px;padding:15px 24px;font-size:11px;font-weight:800}.product-cta:hover{background:var(--coral)}.empty-state{text-align:center;padding:70px 20px}.empty-state h2{font:700 34px var(--display)}
.site-footer{padding:65px 0 24px;background:#172136;color:#fff}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-logo{width:150px}.footer-grid p{color:#9da5b3;font-size:12px}.footer-links{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#b8bec8}.footer-links span{color:#fff;font-size:9px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:9px}.footer-links a:hover{color:#ff8f97}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.13);margin-top:48px;padding-top:20px;color:#7f8795;font-size:9px;text-transform:uppercase}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.1s}
@media(max-width:900px){.main-nav{position:absolute;top:78px;left:0;right:0;background:#fff;display:none;flex-direction:column;align-items:flex-start;padding:26px 24px;box-shadow:0 15px 25px rgba(20,30,50,.1)}.main-nav.open{display:flex}.menu-button{display:block}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{border-radius:24px 24px 0 0;padding:60px 44px}.visual-frame{height:520px;border-radius:0 0 24px 24px}.split-layout{grid-template-columns:1fr;gap:28px}.about-copy{padding-top:0}.service-grid{grid-template-columns:repeat(2,1fr)}.process-line{grid-template-columns:1fr}.process-line:before{display:none}.process-step{display:grid;grid-template-columns:35px 30px 1fr;text-align:left;align-items:center}.process-step i{margin:17px auto}.contact-grid{grid-template-columns:1fr;gap:42px}.catalog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.container{width:calc(100% - 28px)}.header-inner{height:70px}.brand img{width:116px;height:52px}.main-nav{top:70px}.hero{padding:94px 0 55px}.hero-copy{padding:45px 25px}.hero h1{font-size:56px}.hero-copy>p{font-size:13px}.button-row{display:grid}.button{width:100%}.hero-proof{display:grid;gap:5px}.visual-frame{height:390px}.visual-tag{font-size:7px;padding:7px 9px}.section{padding:78px 0}.section-heading h2,.section-title-row h2,.center-heading h2{font-size:43px}.section-title-row{display:block}.section-title-row>p,.text-link{display:block;margin-top:22px}.service-grid,.catalog-grid{grid-template-columns:1fr}.service-card{min-height:auto}.service-icon{margin:28px 0 24px}.stat-row{gap:8px}.stat-row strong{font-size:22px}.type-row{grid-template-columns:40px 1fr 34px;gap:10px}.type-row p{display:none}.type-row h3{font-size:18px}.contact{padding:75px 0}.contact-form{padding:22px}.form-row{grid-template-columns:1fr}.catalog-hero{padding:125px 0 60px}.catalog-hero h1{font-size:50px}.product-image{aspect-ratio:4/3.8}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Refinamientos de identidad: el fondo negro integra el archivo original del logo. */
.site-header{background:rgba(0,0,0,.97);box-shadow:0 4px 24px rgba(10,15,28,.16)}
.header-inner{height:82px}
.brand{height:76px;display:flex;align-items:center;overflow:hidden}
.brand img{width:158px;height:94px;object-fit:cover;object-position:center 54%}
.main-nav>a:not(.nav-cta){color:#c4c8d1}
.main-nav>a:hover,.main-nav>a.active{color:#fff}
.menu-button span{background:#fff}
.site-footer{background:#000}
.footer-logo{width:184px;margin:-16px 0 -6px}
@media(max-width:900px){.main-nav{top:82px;background:#000;box-shadow:0 15px 25px rgba(20,30,50,.18)}}
@media(max-width:600px){.site-header .container{width:calc(100% - 22px)}.header-inner{height:76px}.brand{height:70px}.brand img{width:148px;height:88px}.main-nav{top:76px}.hero{padding-top:100px;padding-bottom:22px}.about{padding-top:46px}.section{padding-top:72px;padding-bottom:72px}.footer-logo{width:190px;margin:-20px 0 -8px}}

/* Paleta final tomada del logo: violeta, lila, azul y celeste. */
:root{--coral:#139fe6}
.nav-cta,.button-primary,.button-light,.type-row>a,.product-image span{background:#139fe6;box-shadow:0 8px 20px rgba(19,159,230,.2)}
.main-nav>a:hover,.main-nav>a.active,.eyebrow,.text-link,.faq summary span{color:#139fe6}
.service-card:nth-child(even) .service-icon{background:#eef8ff;color:#139fe6}
.process .center-heading h2 em,.contact-inner .eyebrow,.contact h2 em,.catalog-hero h1 em{color:#8fdcff}
.footer-links a:hover{color:#8fdcff}

/* Hero fotográfico con movimiento ambiental sutil. */
.hero-grid{position:relative;display:block;min-height:650px;overflow:hidden;border-radius:28px;background:#24224f}
.hero-copy{position:relative;z-index:3;width:58%;min-height:650px;border-radius:0;background:linear-gradient(90deg,rgba(35,31,83,.98) 0%,rgba(47,42,105,.92) 70%,rgba(47,42,105,0) 100%)}
.hero-visual{position:absolute;inset:0;z-index:1}
.visual-frame{border-radius:0;height:100%}
.visual-main img{animation:printer-motion 12s ease-in-out infinite alternate;transform-origin:70% 50%}
.visual-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(34,31,81,.72),transparent 65%);z-index:1;pointer-events:none}
@keyframes printer-motion{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.075) translate3d(-1.2%,.6%,0)}}

.home-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.home-product-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 34px rgba(29,41,61,.09);transition:.25s}
.home-product-card:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(39,48,83,.15)}
.home-product-image{display:block;aspect-ratio:4/4.3;overflow:hidden;background:#eef0f4}
.home-product-image img{width:100%;height:100%;object-fit:cover;transition:.5s}
.home-product-card:hover img{transform:scale(1.04)}
.home-product-card>div{padding:20px}
.home-product-card span{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#139fe6;font-weight:800}
.home-product-card h3{font:700 19px/1.18 var(--display);color:var(--navy);margin:9px 0 18px}
.home-product-card>div>a{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--line);font-size:11px;font-weight:800;color:var(--purple)}
.home-product-card b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#dff4ff;color:#0879ba}
@media(max-width:900px){.hero-copy{width:72%}.home-product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.hero-grid{min-height:680px;border-radius:22px}.hero-copy{width:100%;min-height:680px;padding:44px 24px 260px;background:linear-gradient(180deg,rgba(35,31,83,.98) 0%,rgba(47,42,105,.9) 58%,rgba(47,42,105,.2) 100%)}.visual-main img{object-position:69% center}.visual-tag{display:none}.home-product-grid{grid-template-columns:1fr}.home-product-image{aspect-ratio:4/3.5}}
@media(prefers-reduced-motion:reduce){.visual-main img{animation:none}}

/* Isotipo circular optimizado para navegación. */
.brand{gap:12px;overflow:visible}
.brand img{width:58px;height:58px;object-fit:cover;object-position:center;border-radius:50%;border:1px solid rgba(115,193,255,.55);box-shadow:0 0 0 4px rgba(82,83,166,.16),0 7px 22px rgba(53,114,218,.25)}
.brand-name{font:700 18px/1 var(--display);letter-spacing:.06em;color:#fff}
.brand-name>span{color:#68caff}
@media(max-width:600px){.brand{height:64px;gap:10px}.brand img{width:52px;height:52px}.brand-name{font-size:16px}}

/* Ritmo vertical más compacto entre bloques. */
.section{padding-top:82px;padding-bottom:82px}
.section-title-row{margin-bottom:42px}
.about-copy{padding-top:30px}
.process-line{margin-top:48px}
.contact{padding-top:82px;padding-bottom:82px}
@media(max-width:900px){.section{padding-top:66px;padding-bottom:66px}.about-copy{padding-top:0}}
@media(max-width:600px){.section{padding-top:54px;padding-bottom:54px}.about{padding-top:42px}.section-title-row{margin-bottom:32px}.process-line{margin-top:34px}.contact{padding-top:62px;padding-bottom:62px}}

/* Etiquetas y acciones sin símbolos decorativos. */
.eyebrow:before,.hero-proof span:before{content:none}
.eyebrow{gap:0}
.service-card .service-icon{margin-top:22px}
.section-title-row>.button{flex:0 0 auto}
.home-product-card>div>a{display:inline-flex;justify-content:center;border:0;border-radius:6px;background:var(--purple);color:#fff;padding:11px 18px;transition:background .2s,transform .2s,box-shadow .2s}
.home-product-card>div>a:hover{background:#139fe6;transform:translateY(-2px);box-shadow:0 8px 20px rgba(19,159,230,.2)}
.product-cta{justify-content:center;border-radius:0;transition:background .2s}
.button:active,.home-product-card>div>a:active,.product-cta:active{transform:translateY(0) scale(.98)}
@media(max-width:900px){.process-step{grid-template-columns:30px 1fr}.process-step h3{padding-left:10px}}

/* Ajustes solicitados para escritorio y animaciones de proceso. */
.hero>.container{width:min(1480px,calc(100% - 64px))}
.hero{padding-bottom:38px}
.about{padding-top:58px}
.stat-icon{display:grid!important;place-items:center;width:48px;height:48px;margin-bottom:10px;border-radius:14px;background:linear-gradient(145deg,#f0ecff,#e5f7ff);color:var(--purple)!important}
.stat-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.services .section-title-row{display:block}
.services .section-title-row>p{max-width:620px;margin:22px 0 0}
.service-icon{position:relative;overflow:visible;animation:star-orbit 7s linear infinite}
.service-icon:before,.service-icon:after{content:'✦';position:absolute;color:#8bdcff;font-size:10px}
.service-icon:before{top:-8px;right:-6px}.service-icon:after{bottom:-7px;left:-5px;transform:scale(.7)}
.service-card:nth-child(2) .service-icon{animation-delay:-1.5s}.service-card:nth-child(3) .service-icon{animation-delay:-3s}.service-card:nth-child(4) .service-icon{animation-delay:-4.5s}
@keyframes star-orbit{to{transform:rotate(360deg)}}
.process-line:after{content:'';position:absolute;left:10%;top:41px;height:2px;width:0;background:linear-gradient(90deg,#8bdcff,#268ddd,#b0a0ff);box-shadow:0 0 12px rgba(139,220,255,.85);animation:process-progress 10s ease-in-out infinite}
.process-step i{animation:step-glow 10s ease-in-out infinite;background:#fff}
.process-step:nth-child(2) i{animation-delay:2s}.process-step:nth-child(3) i{animation-delay:4s}.process-step:nth-child(4) i{animation-delay:6s}.process-step:nth-child(5) i{animation-delay:8s}
@keyframes process-progress{0%{width:0}80%,100%{width:80%}}
@keyframes step-glow{0%,12%,100%{background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.55)}4%,9%{background:#8bdcff;box-shadow:0 0 0 4px rgba(139,220,255,.2),0 0 24px #8bdcff}}
@media(max-width:900px){.hero>.container{width:min(100% - 32px,760px)}.process-line:after{display:none}.process-step i{animation:step-glow 10s ease-in-out infinite}}
@media(max-width:600px){.hero{padding-bottom:20px}.about{padding-top:34px}.hero>.container{width:calc(100% - 20px)}.stat-row{gap:12px}.stat-icon{width:42px;height:42px}.stat-icon svg{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.service-icon,.process-line:after,.process-step i{animation:none}}

.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.footer-bottom>a{color:#8fdcff;text-align:center;transition:color .2s}
.footer-bottom>a:hover{color:#fff}
.footer-bottom>span:last-child{text-align:right}
@media(max-width:600px){.footer-bottom{display:grid;grid-template-columns:1fr;gap:9px}.footer-bottom>a{text-align:left}.footer-bottom>span:last-child{text-align:left}}

/* Alternancia de servicios y ajustes finos de ritmo en mobile. */
.service-card:nth-child(odd){background:var(--purple);color:#fff;box-shadow:0 14px 38px rgba(53,51,111,.18)}
.service-card:nth-child(odd) h3{color:#fff}
.service-card:nth-child(odd) p{color:rgba(255,255,255,.74)}
.service-card:nth-child(odd) .service-icon{background:rgba(255,255,255,.13);color:#8fdcff}
.service-card:nth-child(odd):hover{box-shadow:0 20px 46px rgba(53,51,111,.28)}
@media(max-width:600px){
  .about .split-layout{gap:10px}
  .about-copy .lead{margin-top:0}
  .faq .split-layout{gap:12px}
  .faq .accordion details:first-child{padding-top:8px}
}
