html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}*,::after,::before{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.site-wrapper{overflow-x:clip;overflow-y:visible}body{font-family:'Zalando Sans Expanded',Inter,system-ui,sans-serif;font-weight:300;font-style:normal;background-color:var(--surface-bg);color:var(--text-on-dark);overflow-x:clip;position:relative}.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:repeating-linear-gradient(90deg,rgba(243,146,0,.04) 0,rgba(243,146,0,.04) 1px,transparent 1px,transparent 24px);mask-image:radial-gradient(ellipse 70% 60% at 25% 35%,black 0%,transparent 70%),radial-gradient(ellipse 50% 50% at 75% 65%,black 0%,transparent 60%),radial-gradient(ellipse 45% 40% at 60% 15%,black 0%,transparent 65%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 25% 35%,black 0%,transparent 70%),radial-gradient(ellipse 50% 50% at 75% 65%,black 0%,transparent 60%),radial-gradient(ellipse 45% 40% at 60% 15%,black 0%,transparent 65%);mask-composite:add;-webkit-mask-composite:source-over}.bg-noise{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}.bg-orbs{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.bg-orb{position:absolute;border-radius:50%;filter:blur(150px)}.bg-orb--1{width:700px;height:500px;background:var(--brand-main);opacity:.06;top:-150px;right:-100px}.bg-orb--2{width:600px;height:400px;background:var(--brand-orange);opacity:.04;bottom:25%;left:-200px}.bg-orb--3{width:500px;height:350px;background:var(--brand-main-dark);opacity:.05;bottom:-80px;right:15%}a{text-decoration:none;color:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}ol,ul{list-style:none}.container{width:100%;max-width:1440px;margin:0 auto;padding-left:var(--container-pad);padding-right:var(--container-pad)}.section{width:100%;max-width:100%;position:relative;z-index:1;overflow-x:clip}[data-parallax]{will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.header{position:fixed;top:0;left:0;right:0;z-index:300;padding:16px var(--container-pad);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(29,29,27,.6),transparent);transition:background .3s ease}.header.scrolled{background-color:transparent}.header__logo{width:40px;height:50px;display:flex;align-items:center}.header__logo img{width:100%;height:100%;object-fit:contain}.header__menu-btn{background:0 0;border:none;cursor:pointer;padding:0;width:32px;height:24px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.header__menu-btn span{display:block;width:100%;height:2px;background-color:var(--brand-main);border-radius:1px;transition:transform .3s ease,opacity .3s ease;transform-origin:center}.header__menu-btn.active span:first-child{transform:translateY(11px) rotate(45deg)}.header__menu-btn.active span:nth-child(2){opacity:0}.header__menu-btn.active span:nth-child(3){transform:translateY(-11px) rotate(-45deg)}.menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--surface-bg);z-index:200;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .4s ease}.menu-overlay.active{opacity:1;pointer-events:auto}.menu-overlay__header{padding:16px var(--container-pad);height:82px}.menu-overlay__nav{flex:1;padding:0 var(--container-pad)}.menu-overlay__item{display:flex;align-items:center;gap:32px;padding:24px 0;border-bottom:1px solid var(--neutral-800);cursor:pointer}.menu-overlay__item:hover .menu-overlay__item-number{color:var(--brand-main)}.menu-overlay__item-number{font-size:var(--size-body-tiny);color:var(--text-secondary);letter-spacing:.24px;text-transform:uppercase;transition:color .3s ease}.menu-overlay__item-label{font-family:Syne,sans-serif;font-weight:500;font-size:clamp(28px, 3vw, 36px);color:var(--text-on-dark);overflow:hidden;display:block}.menu-overlay__item-label span{display:block;position:relative;transition:transform .4s cubic-bezier(.76, 0, .24, 1)}.menu-overlay__item-label span::after{content:attr(data-text);display:block;position:absolute;top:100%;left:0;color:var(--brand-main)}.menu-overlay__item:hover .menu-overlay__item-label span{transform:translateY(-100%)}.menu-overlay__footer{padding:40px var(--container-pad);display:flex;align-items:center;justify-content:space-between}.lang-selector{display:flex;gap:4px}.lang-selector__item{padding:8px 12px;font-family:inherit;font-size:var(--size-body-tiny);font-weight:inherit;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.24px;background:0 0;border:1px solid transparent;border-radius:var(--radius-full);cursor:pointer;transition:all .3s ease}.lang-selector__item.active,.lang-selector__item:hover{border-color:var(--text-on-dark);color:var(--text-on-dark)}.menu-overlay__social{display:flex;gap:32px}.menu-overlay__social a{font-size:var(--size-body-small);color:var(--text-on-dark);transition:opacity .3s ease}.menu-overlay__social a:hover{opacity:.7}.menu-overlay__email{font-size:var(--size-body-small);color:var(--text-on-dark)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-12) var(--space-16);border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 -1px 0 rgba(0,0,0,.1),0 4px 16px rgba(0,0,0,.1);font-size:var(--size-body-tiny);color:var(--text-on-dark);letter-spacing:.24px;text-transform:uppercase;font-weight:300;white-space:nowrap}.badge--outline{background:0 0;border-color:currentColor}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);padding:var(--space-12) var(--space-24);border-radius:var(--radius-full);border:none;cursor:pointer;font-family:Syne,sans-serif;font-weight:600;font-size:var(--size-body-base);letter-spacing:.64px;white-space:nowrap;transition:all .3s ease;text-decoration:none}.btn--primary{background:linear-gradient(125deg,var(--brand-main) 0,var(--brand-main-dark) 100%);color:var(--action-text);box-shadow:var(--shadow-xs)}.btn--primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn--outline{background:0 0;border:1px solid currentColor;color:inherit}.btn--outline:hover{background:rgba(255,255,255,.1)}.hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding-top:var(--space-160);padding-bottom:var(--space-48);position:relative;background:url('../assets/img/fondo-hero.webp') center/cover no-repeat;padding-left:var(--container-pad);padding-right:var(--container-pad)}.hero::before{content:'';position:absolute;bottom:0;left:0;right:0;height:70%;background:linear-gradient(to bottom,transparent 0,rgba(29,29,27,.3) 30%,rgba(29,29,27,.7) 60%,var(--surface-bg) 100%);pointer-events:none}.hero__content{display:flex;flex-direction:column;align-items:center;gap:var(--space-32);text-align:center;position:relative;z-index:1}.hero__title{font-family:Syne,sans-serif;font-size:var(--size-display-max);font-weight:500;line-height:.95;letter-spacing:-.05em;background:linear-gradient(to bottom,#fff,rgba(255,255,255,.5));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero__subtitle{font-size:var(--size-body-large);font-weight:300;color:var(--surface-card);letter-spacing:-.1px;line-height:1.25}.hero__cta{padding-top:var(--space-32)}.hero__brands{display:flex;flex-direction:column;align-items:center;gap:var(--space-32);position:relative;z-index:1}.hero__brands-label{font-size:var(--size-body-tiny);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.24px;line-height:1.4}.hero__logos{display:flex;align-items:center;gap:var(--space-48);overflow:hidden;width:100%;mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent)}.hero__logos-track{display:flex;align-items:center;gap:var(--space-80);animation:scroll-logos 30s linear infinite;white-space:nowrap}.hero__logos-track img{height:32px;width:auto;object-fit:contain;flex-shrink:0;opacity:.4;transition:opacity .3s ease}.hero__logos-track img:hover{opacity:1}@keyframes scroll-logos{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.problema{height:300vh;position:relative}.problema__sticky{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;justify-content:center;padding:0 var(--container-pad);overflow:hidden}.problema__slide{position:absolute;max-width:1440px;width:100%;padding:0 var(--container-pad);transition:opacity .1s ease,transform .1s ease;will-change:opacity,transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.problema__title{font-family:Syne,sans-serif;font-size:var(--size-display-xl);font-weight:500;line-height:.95;letter-spacing:-.03em}.problema__title span{color:var(--text-on-dark)}.problema__title em{font-style:normal;background:linear-gradient(104deg,var(--brand-main) 0,var(--brand-main-dark) 43%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.problema__slide--2{display:flex;flex-direction:column;gap:var(--space-48)}.problema__body{font-family:Syne,sans-serif;font-size:var(--size-display-xl);font-weight:500;line-height:.95;letter-spacing:-.03em;color:var(--text-on-dark)}.problema__footnote{display:flex;justify-content:flex-end}.problema__footnote p{max-width:330px;font-size:var(--size-body-tiny);color:var(--text-secondary);letter-spacing:.24px;text-transform:uppercase;line-height:1.4;text-align:right}.servicios{padding-top:var(--space-160);padding-bottom:var(--space-80)}.servicios__header{display:flex;flex-direction:column;align-items:flex-start;gap:32px;margin-bottom:var(--space-80)}.servicios__title{font-family:Syne,sans-serif;font-size:var(--size-display-xxl);font-weight:500;line-height:.95;letter-spacing:-.04em;color:var(--text-on-dark);width:100%}.servicios__cards{display:flex;flex-direction:column;gap:var(--space-24)}.service-card{border-radius:var(--radius-l);padding:var(--space-32);display:flex;flex-direction:column;gap:var(--space-24);position:sticky;overflow:hidden;min-height:500px;justify-content:flex-end}.service-card:first-child{top:80px}.service-card:nth-child(2){top:100px}.service-card:nth-child(3){top:120px}.service-card:nth-child(4){top:140px}.service-card:nth-child(5){top:160px}.service-card__figure{position:absolute;top:32px;right:32px;width:193px;height:188px}.service-card__figure img{width:100%;height:100%;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.service-card__title{font-family:Syne,sans-serif;font-size:var(--size-heading-1);font-weight:500;line-height:.95;letter-spacing:-.02em}.service-card__badges{display:flex;flex-wrap:wrap;gap:var(--space-4)}.service-card__badges .badge--outline{font-size:var(--size-body-tiny);letter-spacing:.24px;text-transform:uppercase;padding:var(--space-12);font-weight:300;color:inherit;border-color:currentColor}.service-card__desc{font-size:var(--size-body-large);font-weight:300;line-height:1.25;letter-spacing:-.1px;max-width:812px}.service-card__cta{padding-top:var(--space-12)}.service-card--branding{background:linear-gradient(104deg,var(--brand-main) 0,var(--brand-main-dark) 100%);color:var(--brand-main-light)}.service-card--textil{background:linear-gradient(119deg,var(--brand-orange) 0,var(--brand-orange-dark) 100%);color:var(--brand-orange-light)}.service-card--web{background:linear-gradient(119deg,var(--brand-yellow) 0,var(--brand-yellow-dark) 100%);color:var(--brand-yellow-light)}.service-card--editorial{background:linear-gradient(119deg,var(--brand-green) 0,var(--brand-green-dark) 100%);color:var(--brand-green-light)}.service-card--formato{background:linear-gradient(119deg,var(--brand-pink) 0,var(--brand-pink-dark) 100%);color:var(--brand-pink-light)}.proyectos{padding-top:var(--space-160);padding-bottom:0;position:relative}.proyectos__header{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:32px;margin-bottom:var(--space-80)}.proyectos__title{font-family:Syne,sans-serif;font-size:var(--size-display-xxl);font-weight:500;line-height:.95;letter-spacing:-.04em;color:var(--text-on-dark);width:100%}.proyectos__scroll-wrapper{position:sticky;top:0;height:100vh;overflow:hidden;width:100vw;margin-left:calc(-1 * var(--container-pad));transform:translateZ(0);-webkit-transform:translateZ(0)}.proyectos__scroll-wrapper::after,.proyectos__scroll-wrapper::before{content:'';position:absolute;top:0;bottom:0;width:5%;z-index:2;pointer-events:none}.proyectos__scroll-wrapper::before{left:0;background:linear-gradient(to right,var(--surface-bg),transparent)}.proyectos__scroll-wrapper::after{right:0;background:linear-gradient(to left,var(--surface-bg),transparent)}.proyectos__grid{display:flex;gap:var(--space-24);position:absolute;top:50%;transform:translate3d(0,-50%,0);padding:0 var(--container-pad);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.proyecto-card{display:flex;gap:24px;height:clamp(400px,42vw,600px);flex-shrink:0;width:min(85vw,1280px);-webkit-backface-visibility:hidden;backface-visibility:hidden}.proyecto-card__foto{flex:0 0 66%;border-radius:var(--radius-l);overflow:hidden;background-color:var(--neutral-800);position:relative;height:100%}.contacto__map picture,.proyecto-card__foto picture,.proyecto-card__image-inner picture,.sobre-mi__image picture{display:contents}.proyecto-card__foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16, 1, .3, 1)}.proyecto-card__foto:hover img{transform:scale(1.05)}.proyecto-card__foto-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(29,29,27,0) 0,rgba(29,29,27,.4) 50%,var(--neutral-900) 100%);border-radius:var(--radius-l);pointer-events:none}.proyecto-card__stat{position:absolute;bottom:48px;left:48px;display:flex;flex-direction:column;gap:var(--space-16)}.proyecto-card__stat-number{font-family:Syne,sans-serif;font-size:var(--size-display-xxl);font-weight:500;line-height:.95;letter-spacing:-.04em;color:var(--text-on-dark)}.proyecto-card__stat-label{font-family:Syne,sans-serif;font-size:var(--size-heading-4);font-weight:600;line-height:.95;letter-spacing:-.005em;color:var(--text-secondary)}.proyecto-card__info{flex:1;background-color:var(--neutral-200);border-radius:var(--radius-l);padding:var(--space-24);display:flex;flex-direction:column;justify-content:space-between}.proyecto-card__category{display:inline-block;font-size:var(--size-body-tiny);color:var(--neutral-900);text-transform:uppercase;letter-spacing:.24px;margin-bottom:var(--space-12);border:1px solid var(--neutral-900);border-radius:var(--radius-full);padding:var(--space-4) var(--space-12)}.proyecto-card__name{font-family:Syne,sans-serif;font-size:var(--size-heading-4);font-weight:600;line-height:.95;letter-spacing:-.005em;color:var(--neutral-900)}.proyecto-card__image-inner{flex:1;border-radius:var(--radius-m);overflow:hidden;background-color:var(--neutral-900);margin:var(--space-16) 0;position:relative}.proyecto-card__image-inner img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16, 1, .3, 1)}.proyecto-card__image-inner:hover img{transform:scale(1.08)}.proyecto-card__tags{font-size:var(--size-body-tiny);color:var(--neutral-800);text-transform:uppercase;letter-spacing:.24px;margin-bottom:var(--space-8)}.proyecto-card__subtitle{font-size:var(--size-body-base);color:var(--neutral-900);font-weight:400;line-height:1.25}.sobre-mi{padding-top:var(--space-160);padding-bottom:var(--space-80)}.sobre-mi__content{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-48)}.sobre-mi__title{font-family:Syne,sans-serif;font-size:var(--size-display-xl);font-weight:500;line-height:.95;letter-spacing:-.03em;color:var(--text-on-dark);width:100%}.sobre-mi__subtitle-row{width:100%;display:flex;justify-content:flex-end}.sobre-mi__subtitle{max-width:362px;font-size:var(--size-body-tiny);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.24px;line-height:1.4;text-align:right}.sobre-mi__image{width:100%;height:600px;border-radius:var(--radius-l);overflow:hidden;background-color:var(--neutral-800);position:relative}.sobre-mi__image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16, 1, .3, 1)}.sobre-mi__image:hover img{transform:scale(1.04)}.sobre-mi__image-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(29,29,27,0) 0,rgba(29,29,27,.4) 50%,var(--neutral-900) 100%);border-radius:var(--radius-l);pointer-events:none}.sobre-mi__image-stat{position:absolute;bottom:48px;right:48px;font-family:Syne,sans-serif;font-size:var(--size-heading-3);font-weight:600;line-height:.95;letter-spacing:-.01em;color:var(--text-on-dark);text-align:right;max-width:424px}.sobre-mi__footnote{max-width:362px;font-size:var(--size-body-tiny);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.24px;line-height:1.4}.contacto{padding-top:var(--space-160);padding-bottom:var(--space-80);overflow-x:clip}.contacto__title{font-family:Syne,sans-serif;font-size:var(--size-heading-2);font-weight:500;line-height:.95;color:var(--text-on-dark);margin-bottom:var(--space-80)}.contacto__content{display:flex;gap:24px;min-height:600px}.contacto__info{flex:0 0 32%;background:linear-gradient(147deg,var(--neutral-0) .69%,var(--neutral-50) 99.24%);border-radius:var(--radius-l);padding:var(--space-24);display:flex;flex-direction:column}.contacto__details{display:flex;flex-direction:column;gap:var(--space-24);margin-bottom:var(--space-32)}.contacto__details a,.contacto__details p{font-family:Syne,sans-serif;font-size:var(--size-heading-4);font-weight:600;line-height:.95;letter-spacing:-.005em;color:var(--neutral-800)}.contacto__details a:first-child{color:var(--brand-main)}.contacto__details a:hover{color:var(--brand-main)}.contacto__map{flex:1;border-radius:var(--radius-m);overflow:hidden;background-color:var(--neutral-900);margin-bottom:var(--space-24)}.contacto__map img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16, 1, .3, 1)}.contacto__map:hover img{transform:scale(1.06)}.contacto__info .btn{width:100%}.contacto__form-wrapper{flex:1;background:linear-gradient(to bottom,var(--neutral-0),var(--neutral-50));border:.5px solid var(--border-subtle);border-radius:var(--radius-l);padding:48px;display:flex;flex-direction:column;justify-content:center}.contacto__form{display:flex;flex-direction:column;gap:0}.form-group{position:relative;padding:12px 0}.form-group input,.form-group select,.form-group textarea{width:100%;background:0 0;border:none;border-bottom:1px solid var(--border-default);padding:12px 0;font-family:'Zalando Sans Expanded',sans-serif;font-size:var(--size-body-base);color:var(--neutral-800);outline:0;transition:border-color .3s ease}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--neutral-600);font-weight:300}.form-group input:focus,.form-group textarea:focus{border-bottom-color:var(--brand-main)}.form-group label{font-family:'Zalando Sans Expanded',sans-serif;font-size:var(--size-body-base);color:var(--neutral-800);font-weight:400;display:block;margin-bottom:0}.form-group textarea{resize:none;min-height:80px}.form-row{display:flex;gap:24px}.form-row .form-group{flex:1}.form-checkbox{display:flex;align-items:flex-start;gap:var(--space-12);padding:var(--space-16) 0}.form-checkbox input[type=checkbox]{width:16px;height:16px;margin-top:2px;accent-color:var(--brand-main);flex-shrink:0}.form-checkbox label{font-family:'Zalando Sans Expanded',sans-serif;font-size:var(--size-body-small);color:#383c3e;font-weight:400;line-height:1.25}.cf-turnstile{margin-top:var(--space-8)}.contacto__form .btn{width:100%;margin-top:var(--space-24)}.form-error{color:var(--brand-orange);font-size:var(--size-body-small);margin-top:var(--space-12);text-align:center}.footer{background-color:transparent;color:var(--text-on-dark);padding:var(--space-160) var(--container-pad) var(--space-80);position:relative;z-index:1;overflow-x:clip;max-width:100%}.footer__divider{height:1px;background-color:var(--neutral-800);width:100%}.footer__cta{display:flex;flex-direction:column;gap:var(--space-32);margin:var(--space-80) 0}.footer__cta-title{font-family:Syne,sans-serif;font-size:var(--size-display-xxl);font-weight:500;line-height:.95;letter-spacing:-.04em;color:var(--text-on-dark)}.footer__cta-subtitle{font-size:var(--size-body-large);font-weight:300;line-height:1.25;letter-spacing:-.1px;color:var(--text-secondary)}.footer__info{display:flex;flex-direction:column;gap:var(--space-48);margin:var(--space-80) 0}.footer__services-row{display:flex;flex-direction:column;gap:var(--space-24)}.footer__col-label,.footer__services-label{font-size:var(--size-body-tiny);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.24px;line-height:1.4}.footer__tags{display:flex;flex-wrap:wrap;gap:var(--space-8)}.footer__tag{display:inline-flex;align-items:center;padding:var(--space-8) var(--space-16);border:1px solid var(--neutral-800);border-radius:var(--radius-full);font-size:var(--size-body-small);color:var(--text-on-dark);font-weight:400;white-space:nowrap}.footer__columns{display:flex;gap:var(--space-80)}.footer__col{display:flex;flex-direction:column;gap:var(--space-16)}.footer__col-links{display:flex;flex-direction:column;gap:var(--space-12)}.footer__col-links a,.footer__col-links p{font-size:var(--size-body-small);color:var(--text-on-dark);font-weight:400;transition:color .3s ease}.footer__col-links a:hover{color:var(--brand-main)}.footer__bottom{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-32)}.footer__copyright,.footer__credit{font-size:var(--size-body-tiny);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.24px;line-height:1.4}.footer__credit a{color:inherit;transition:color .3s ease}.footer__credit a:hover{color:var(--brand-main)}.legal{padding-top:160px;padding-bottom:var(--space-80)}.legal__title{font-family:Syne,sans-serif;font-size:var(--size-display-xl);font-weight:500;line-height:.95;letter-spacing:-.03em;color:var(--text-on-dark);margin-bottom:var(--space-80);max-width:1140px;margin-left:auto;margin-right:auto}.legal__content{max-width:1140px;margin:0 auto}.legal__content h2{font-family:Syne,sans-serif;font-size:var(--size-heading-3);font-weight:500;line-height:1.1;letter-spacing:-.01em;color:var(--text-on-dark);margin-top:var(--space-48);margin-bottom:var(--space-16)}.legal__content h2:first-child{margin-top:0}.legal__content h3{font-family:Syne,sans-serif;font-size:var(--size-body-large);font-weight:500;line-height:1.2;color:var(--text-primary);margin-top:var(--space-24);margin-bottom:var(--space-12)}.legal__content p{font-size:var(--size-body-base);font-weight:300;line-height:1.6;color:var(--text-secondary);margin-bottom:var(--space-16)}.legal__content ul{list-style:none;padding:0;margin-bottom:var(--space-24)}.legal__content ul li{font-size:var(--size-body-base);font-weight:300;line-height:1.6;color:var(--text-secondary);padding:var(--space-8) 0;padding-left:var(--space-16);position:relative}.legal__content ul li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--text-secondary)}.legal__content a{color:var(--brand-main);text-decoration:underline;text-underline-offset:3px;transition:color .2s}.legal__content a:hover{color:var(--brand-main-dark)}.legal__content table{width:100%;border-collapse:collapse;margin:var(--space-16) 0 var(--space-32);font-size:var(--size-body-small)}.legal__content table td,.legal__content table th{text-align:left;padding:var(--space-12) var(--space-16);border-bottom:1px solid rgba(255,255,255,.08)}.legal__content table th{font-family:Syne,sans-serif;font-weight:500;color:var(--text-primary);font-size:var(--size-body-small);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(255,255,255,.15)}.legal__content table td{font-weight:300;color:var(--text-secondary);line-height:1.5}.legal__content table tbody tr:hover{background:rgba(255,255,255,.03)}.btn--sm{padding:8px 20px;font-size:var(--size-body-small)}.page-status{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}.page-status__content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-32);padding:0 var(--container-pad);text-align:center}.page-status__number{font-family:Syne,sans-serif;font-size:clamp(160px, 20vw, 280px);font-weight:500;line-height:.8;color:var(--border-subtle);user-select:none}.page-status__icon{width:193px;height:auto}.page-status__text{display:flex;flex-direction:column;align-items:center;gap:var(--space-24)}.page-status__title{font-family:Syne,sans-serif;font-size:var(--size-heading-1);font-weight:500;line-height:.95;letter-spacing:-.02em;color:var(--text-on-dark)}.page-status__subtitle{font-size:var(--size-body-large);font-weight:300;line-height:1.25;letter-spacing:-.1px;color:var(--text-secondary)}.page-status__actions{display:flex;gap:var(--space-16);align-items:center}.page-status__bottom{display:flex;align-items:center;justify-content:space-between;padding:0 var(--container-pad) var(--container-pad)}.page-status__bottom span{font-size:var(--size-body-tiny);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.24px;line-height:1.4}.asterisk-svg{opacity:.3}@media (max-width:1024px){.proyectos{padding-bottom:var(--space-48)}.proyectos__scroll-wrapper{position:relative;height:auto;overflow:visible;mask-image:none;-webkit-mask-image:none;width:100%;margin-left:0;transform:none;-webkit-transform:none}.proyectos__scroll-wrapper::after,.proyectos__scroll-wrapper::before{display:none}.proyectos__grid{flex-direction:column;position:relative;top:auto;transform:none!important;padding:0;gap:var(--space-48)}.proyecto-card{width:100%;height:clamp(320px,35vw,420px)}.proyecto-card__foto{flex:0 0 55%}.proyecto-card__info{min-height:auto}.proyecto-card__stat{bottom:24px;left:24px}.proyecto-card__stat-number{font-size:clamp(32px, 4vw, 48px)}.contacto__content{min-height:500px}.contacto__info{flex:0 0 38%}.contacto__form-wrapper{padding:var(--space-32)}.contacto__details a,.contacto__details p{font-size:clamp(16px, 2vw, 22px)}.footer__columns{flex-wrap:wrap;gap:var(--space-48)}.service-card{min-height:400px}.service-card__desc{max-width:100%}.sobre-mi__image{height:450px}.sobre-mi__image-stat{font-size:var(--size-heading-4);bottom:32px;right:32px;max-width:300px}.footer__bottom{flex-direction:column-reverse;gap:var(--space-12);text-align:center}}@media (max-width:768px){:root{--container-pad:20px}.footer__cta-title,.hero__title,.legal__title,.problema__body,.problema__title,.proyectos__title,.servicios__title,.sobre-mi__title,h1,h2,h3,p{overflow-wrap:break-word;word-break:break-word}.hero__title{font-size:clamp(40px, 10vw, 64px);letter-spacing:-.03em}.footer__cta-title,.proyectos__title,.servicios__title{font-size:clamp(32px, 8vw, 48px)}.legal__title,.problema__body,.problema__title,.sobre-mi__title{font-size:clamp(28px, 7vw, 44px)}.contacto__title{font-size:clamp(22px, 5.5vw, 32px);margin-bottom:var(--space-32)}.service-card__title{font-size:clamp(24px, 6vw, 36px)}.contacto,.proyectos,.servicios,.sobre-mi{padding-top:var(--space-80);padding-bottom:var(--space-48)}.proyectos__header,.servicios__header{margin-bottom:var(--space-32)}.footer{padding-top:var(--space-80);padding-bottom:var(--space-32)}.footer__cta{margin:var(--space-32) 0;gap:var(--space-24)}.footer__info{margin:var(--space-32) 0;gap:var(--space-32)}.hero{padding-top:100px;padding-bottom:var(--space-24);min-height:100svh}.hero__content{gap:var(--space-24)}.hero__subtitle{max-width:340px;font-size:15px}.hero__cta{padding-top:var(--space-16)}.hero__brands{gap:var(--space-16)}.hero__logos-track{gap:var(--space-48)}.hero__logos-track img{height:22px}.problema{height:250vh}.problema__footnote{justify-content:flex-start}.problema__footnote p{text-align:left;max-width:260px}.service-card{min-height:auto;padding:var(--space-24);position:relative;top:0!important}.service-card__figure{position:relative;top:auto;right:auto;width:80px;height:78px;margin-bottom:var(--space-12)}.service-card__badges{flex-wrap:wrap}.service-card__desc{font-size:var(--size-body-base);max-width:100%}.proyecto-card{flex-direction:column;height:auto}.proyecto-card__foto{flex:none;height:280px;border-radius:var(--radius-m)}.proyecto-card__stat{bottom:16px;left:16px;gap:var(--space-8)}.proyecto-card__stat-number{font-size:clamp(28px, 7vw, 40px)}.proyecto-card__stat-label{font-size:var(--size-body-small)}.proyecto-card__info{padding:var(--space-16);border-radius:var(--radius-m);gap:var(--space-8)}.proyecto-card__image-inner{display:none}.proyecto-card__name{font-size:clamp(18px, 4.5vw, 24px)}.proyecto-card__subtitle{font-size:var(--size-body-small)}.proyecto-card__category{font-size:11px;padding:3px var(--space-8);margin-bottom:var(--space-4)}.sobre-mi__content{gap:var(--space-32)}.sobre-mi__image{height:300px}.sobre-mi__subtitle-row{justify-content:flex-start}.sobre-mi__subtitle{text-align:left;max-width:100%}.sobre-mi__image-stat{font-size:var(--size-body-base);bottom:16px;right:16px;left:16px;max-width:none;text-align:left}.contacto__content{flex-direction:column;min-height:auto}.contacto__info{flex:none}.contacto__map{min-height:200px}.contacto__form-wrapper{padding:var(--space-24)}.contacto__details a,.contacto__details p{font-size:var(--size-body-large);word-break:break-word}.form-row{flex-direction:column;gap:0}.footer__columns{flex-direction:column;gap:var(--space-32)}.footer__tags{gap:var(--space-4)}.footer__tag{font-size:var(--size-body-tiny);padding:6px var(--space-12)}.menu-overlay__item{padding:18px 0;gap:20px}.menu-overlay__item-label{font-size:clamp(24px, 6vw, 32px)}.menu-overlay__footer{flex-direction:column;gap:var(--space-24);align-items:flex-start;padding:24px var(--container-pad)}.menu-overlay__social{flex-wrap:wrap;gap:20px}.bg-orb--1{width:350px;height:250px;top:-100px;right:-80px}.bg-orb--2{width:300px;height:200px;left:-150px}.bg-orb--3{width:250px;height:180px}.legal{padding-top:100px;padding-bottom:var(--space-48)}.legal__title{margin-bottom:var(--space-32);font-size:clamp(28px, 7vw, 44px)}.legal__content h2{font-size:var(--size-heading-4);margin-top:var(--space-32)}.page-status__content{gap:var(--space-24);padding:80px var(--container-pad) var(--space-32)}.page-status__icon{width:100px}.page-status__text{gap:var(--space-16)}.page-status__title{font-size:clamp(24px, 6vw, 36px)}.page-status__subtitle{font-size:var(--size-body-base)}.page-status__actions{flex-direction:column;width:100%;max-width:280px}.page-status__actions .btn{width:100%}.page-status__bottom{flex-direction:column;gap:var(--space-8);text-align:center;padding:var(--space-16) var(--container-pad)}.badge{font-size:11px;padding:var(--space-8) var(--space-12)}.btn{font-size:var(--size-body-small);padding:var(--space-12) var(--space-24)}.whatsapp-btn{bottom:20px;right:20px;width:48px;height:48px}.whatsapp-btn svg{width:24px;height:24px}}@media (max-width:480px){:root{--container-pad:16px}.hero__title{font-size:clamp(32px, 9vw, 48px)}.footer__cta-title,.proyectos__title,.servicios__title{font-size:clamp(28px, 7.5vw, 40px)}.problema__body,.problema__title,.sobre-mi__title{font-size:clamp(24px, 6.5vw, 36px)}.problema{height:220vh}.problema__footnote p{max-width:220px;font-size:11px}.hero__logos-track img{height:18px}.hero__logos-track{gap:var(--space-32)}.proyecto-card__foto{height:220px}.sobre-mi__image{height:240px}.contacto__map{min-height:150px}.contacto__form-wrapper{padding:var(--space-16)}.page-status__number{font-size:clamp(80px, 22vw, 140px)}.service-card{padding:var(--space-16)}.service-card__figure{width:60px;height:59px}.service-card__badges .badge--outline{font-size:10px;padding:6px 8px}.footer__cta-subtitle{font-size:var(--size-body-base)}.legal__title{font-size:clamp(24px, 6.5vw, 36px)}}.fade-up{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.fade-up.visible{opacity:1;transform:translateY(0)}.stagger-1{transition-delay:0.1s}.stagger-2{transition-delay:0.2s}.stagger-3{transition-delay:0.3s}.stagger-4{transition-delay:0.4s}.stagger-5{transition-delay:0.5s}.fade-up.fade-left{transform:translateX(-60px) translateY(0);transition:opacity .8s cubic-bezier(.16, 1, .3, 1),transform .8s cubic-bezier(.16, 1, .3, 1)}.fade-up.fade-right{transform:translateX(60px) translateY(0);transition:opacity .8s cubic-bezier(.16, 1, .3, 1),transform .8s cubic-bezier(.16, 1, .3, 1);transition-delay:0.15s}.fade-up.fade-left.visible,.fade-up.fade-right.visible{opacity:1;transform:translateX(0) translateY(0)}@media (max-width:1024px){.fade-up.fade-left,.fade-up.fade-right{transform:translateY(30px);transition:opacity .6s ease,transform .6s ease;transition-delay:0s}.fade-up.fade-left.visible,.fade-up.fade-right.visible{transform:translateY(0)}}.scroll-reveal-text .sr-word{color:var(--neutral-800);transition:color .3s ease}.scroll-reveal-text .sr-word.lit{color:var(--text-on-dark)}.whatsapp-btn{position:fixed;bottom:32px;right:32px;width:56px;height:56px;background-color:var(--brand-main);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.25);z-index:200;transition:transform .3s ease,box-shadow .3s ease}.whatsapp-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px rgba(0,0,0,.3)}#cookie-bar{position:fixed;bottom:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px var(--container-pad);background:rgba(29,29,27,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.05);font-family:'Zalando Sans Expanded',Inter,system-ui,sans-serif;transform:translateY(100%);transition:transform .3s ease}#cookie-bar.visible{transform:translateY(0)}#cookie-bar p{font-size:12px;color:var(--neutral-600);line-height:1.3;margin:0}#cookie-bar a{color:var(--neutral-200);text-decoration:underline;text-underline-offset:2px}.cookie-bar__btns{display:flex;gap:6px;flex-shrink:0}.cookie-btn{font-family:'Zalando Sans Expanded',Inter,system-ui,sans-serif;font-size:11px;font-weight:500;padding:5px 14px;border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;transition:background .2s ease}.cookie-btn--accept{background:var(--brand-main);color:var(--neutral-900);border:1px solid var(--brand-main);font-weight:600}.cookie-btn--accept:hover{background:var(--brand-main-dark);border-color:var(--brand-main-dark)}.cookie-btn--reject,.cookie-btn--settings{background:0 0;color:var(--brand-main);border:1px solid var(--brand-main)}.cookie-btn--reject:hover,.cookie-btn--settings:hover{background:rgba(243,146,0,.1)}@media (max-width:600px){#cookie-bar{flex-wrap:wrap;gap:8px;padding:8px 16px}}#cookie-panel{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:rgba(29,29,27,.6);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .25s ease}#cookie-panel.visible{opacity:1;pointer-events:auto}.cookie-panel__box{background:var(--neutral-900);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-l);width:90%;max-width:420px;max-height:80vh;overflow-y:auto;font-family:'Zalando Sans Expanded',Inter,system-ui,sans-serif}.cookie-panel__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.cookie-panel__header h3{font-family:Syne,sans-serif;font-weight:700;font-size:16px;color:var(--neutral-0)}.cookie-panel__close{background:0 0;border:none;color:var(--neutral-200);font-size:22px;cursor:pointer;line-height:1;padding:4px}.cookie-panel__close:hover{color:var(--neutral-0)}.cookie-panel__body{padding:12px 20px}.cookie-cat{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.04);cursor:pointer}.cookie-cat:last-child{border-bottom:none}.cookie-cat span:first-child{flex:1}.cookie-cat strong{font-family:Syne,sans-serif;font-weight:600;font-size:14px;color:var(--neutral-0)}.cookie-cat small{font-size:12px;color:var(--neutral-200);font-weight:300}.cookie-cat input[type=checkbox]{display:none}.cookie-toggle{width:36px;height:20px;background:rgba(255,255,255,.1);border-radius:10px;position:relative;flex-shrink:0;transition:background .2s ease}.cookie-toggle::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--neutral-200);border-radius:50%;transition:transform .2s ease}input:checked+.cookie-toggle{background:var(--brand-main)}input:checked+.cookie-toggle::after{transform:translateX(16px);background:var(--neutral-900)}.cookie-toggle.disabled{background:var(--brand-main);opacity:.5}.cookie-toggle.disabled::after{transform:translateX(16px);background:var(--neutral-900)}.cookie-panel__footer{display:flex;gap:6px;padding:12px 20px;border-top:1px solid rgba(255,255,255,.06)}.cookie-panel__footer .cookie-btn{font-size:12px;padding:6px 16px}.cookie-panel__footer .cookie-btn--save{background:0 0;color:var(--brand-main);border:1px solid var(--brand-main)}.cookie-panel__footer .cookie-btn--save:hover{background:rgba(243,146,0,.1)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}.fade-up{opacity:1;transform:none}.fade-up.fade-left,.fade-up.fade-right{transform:none}.hero__logos-track{animation:none}.scroll-reveal-text .sr-word{color:var(--text-on-dark)}}