#portfolio-home{position:relative;background:#f3f3f3;color:#222;overflow:hidden}#portfolio-home h1,#portfolio-home h2,#portfolio-home h3,#portfolio-home p,#portfolio-home span{color:#222}#portfolio-home section{padding:100px 0}#portfolio-home .container{position:relative}.fade-in-image{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.fade-in-image.is-visible{opacity:1;transform:translateY(0)}.home-hero{min-height:calc(100vh - 80px);display:flex;align-items:center}.hero-content{padding-right:40px}.hero-greeting{font-size:24px;margin-bottom:15px}.hero-content h1{font-size:clamp(38px, 4.3vw, 62px);font-weight:700;line-height:1.05;margin-bottom:20px}.hero-profession{font-size:clamp(28px, 3vw, 48px);font-weight:400;min-height:1.2em}.typewriter-cursor{display:inline-block;margin-left:3px;animation:cursorBlink .8s infinite}@keyframes cursorBlink{0%,50%{opacity:1}51%,100%{opacity:0}}.hero-image-wrapper,.about-image-wrapper{overflow:hidden}.image-zoom{overflow:hidden}.image-zoom img{transition:transform .5s ease}.image-zoom:hover img{transform:scale(1.04)}.hero-image-wrapper{width:75%;margin-left:auto}.hero-image-wrapper img,.about-image-wrapper img{width:100%;display:block}.home-about{padding-top:120px}.about-content{padding-right:50px}.section-heading h2,.about-content h2{font-size:2.3rem;font-weight:700;margin-bottom:30px}@media (max-width:575.98px){.section-heading h2,.about-content h2{font-size:clamp(28px, 8vw, 34px)}}.about-content p{font-size:19px;line-height:1.8;margin-bottom:0}.about-image-wrapper{width:100%}.home-projects{padding-top:120px}.projects-grid{row-gap:30px}.project-card{height:100%;background:rgba(255,255,255,.05);border:1px solid rgba(158,158,158);border-radius:18px;overflow:hidden;transition:transform .3s ease,border-color .3s ease,background .3s ease}.project-card:hover{transform:translateY(-6px);border-color:#000;background:rgba(255,255,255,.08)}.project-card-image{display:block;overflow:hidden;aspect-ratio:16/9}.project-card-image img{width:100%;height:100%;object-fit:cover}.project-card-content{padding:25px}.project-card-content h3{font-size:24px;margin-bottom:10px}.project-type{display:inline-block;font-size:14px;opacity:.7;margin-bottom:12px}.project-technologies{font-size:15px;line-height:1.6;opacity:.8}.project-link{color:#fff;text-decoration:none;font-weight:700}.project-link:hover{color:#fff}.projects-button{margin-top:50px}.btn-portfolio{display:inline-block;padding:14px 30px;border:1px solid #fff;border-radius:50px;color:#fff;font-family:'Montserrat';text-decoration:none;transition:background .3s ease,color .3s ease}.btn-portfolio:hover{background:#fff;color:#000 !important}.home-stack{padding-top:100px}.stack-container{max-width:1400px}.stack-grid{row-gap:45px;column-gap:35px}.technology-item{display:flex;flex-direction:column;align-items:center;gap:15px}.technology-item img{width:65px;height:65px;object-fit:contain;transition:transform .4s ease}.technology-item span{font-size:14px;text-align:center}.home-contact{padding-top:120px}.contact-form-wrapper{max-width:800px;margin:0 auto}.home-social{padding-top:100px;padding-bottom:120px}.social-links{display:flex;justify-content:center;align-items:center;gap:35px}.social-link{display:block;width:38px;height:38px}.social-link img{width:100%;height:100%;object-fit:contain}.social-link.image-zoom{overflow:visible}@media (max-width:1199.98px){.stack-grid{column-gap:20px}}@media (max-width:991.98px){#portfolio-home section{padding:80px 0}.hero-content{padding-right:0;margin-bottom:50px}.hero-image-wrapper{width:100%}.about-content{padding-right:0;margin-bottom:50px}.home-hero{min-height:auto}.stack-container{max-width:960px}}@media (max-width:767.98px){.stack-grid{column-gap:10px}}@media (max-width:575.98px){#portfolio-home section{padding:65px 0}.hero-greeting{font-size:20px}.hero-content h1{font-size:38px}.about-content p{font-size:16px;line-height:1.7}.project-card-content{padding:20px}.technology-item img{width:55px;height:55px}.social-link{width:45px;height:45px}}#single-proyecto{background:#f3f3f3;color:#222}.proyecto-tipo{display:inline-block;font-size:14px;opacity:.7;margin-right:12px}.proyecto-destacado-badge{display:inline-block;font-family:'Montserrat';font-size:13px;padding:4px 12px;border-radius:50px;background:rgba(89,66,255,.15);border:1px solid rgba(89,66,255,.4);color:#222}.proyecto-titulo{font-size:clamp(32px, 3.5vw, 48px);font-weight:700;margin:20px 0}.proyecto-tecnologias{font-family:'Montserrat';font-size:16px;opacity:.8;line-height:1.6}.proyecto-image-wrapper{overflow:hidden;border-radius:20px}.proyecto-image-wrapper img{width:100%;display:block}.proyecto-contenido{font-size:18px;line-height:1.8;opacity:.9}@media (max-width:600px){.proyecto-contenido{padding-left:1.5rem;padding-right:1.5rem}}.proyecto-volver{color:#222;text-decoration:none;font-weight:700;opacity:.8;transition:opacity .3s ease}.proyecto-volver:hover{opacity:1}.portfolio-archive-section{padding:140px 0 120px}.portfolio-archive-section .section-heading h1{font-size:clamp(34px, 4vw, 52px);font-weight:700;margin-bottom:60px}@media (max-width:767.98px){.portfolio-archive-section{padding:100px 0 80px}}.servicios-section{padding:140px 0 120px}.servicios-section .section-heading h1{font-size:clamp(34px, 4vw, 52px);font-weight:700;margin-bottom:15px}.servicios-subtitle{font-size:18px;opacity:.8;margin-bottom:60px}.servicios-grid{row-gap:30px}.service-card{height:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:30px;transition:border-color .3s ease,background .3s ease}.service-card:hover{border-color:rgba(89,66,255,.4);background:rgba(255,255,255,.08)}.service-card-header{display:flex;align-items:center;gap:15px;margin-bottom:15px}.service-icon{font-size:32px;line-height:1}.service-card-header h3{font-size:22px;font-weight:700;margin:0}.service-description{font-size:16px;line-height:1.7;opacity:.85;margin-bottom:20px}.service-details{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}.service-details.collapsing{transition:height .2s ease}.service-items{list-style:none;padding:0;margin:0 0 15px}.service-items li{font-size:15px;line-height:1.8;opacity:.85;padding-left:22px;position:relative}.service-items li:before{content:"→";position:absolute;left:0;color:#5942ff}.service-ideal-para{font-size:14px;opacity:.7;font-style:italic;margin:0}.servicios-cta{margin-top:80px;font-family:'Montserrat'}.servicios-cta p{font-family:'Montserrat';font-size:20px;margin-bottom:20px}@media (max-width:575.98px){.servicios-section{padding:100px 0 80px}.service-card{padding:25px 20px}}