.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.back-to-top[data-astro-cid-isrb4goq]{position:fixed;bottom:100px;right:24px;width:48px;height:48px;background-color:var(--color-slate-900);color:var(--color-white);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(20px);transition:all var(--transition-base);z-index:900;box-shadow:var(--shadow-lg)}.back-to-top[data-astro-cid-isrb4goq]:hover{background-color:var(--color-cyan);transform:translateY(-2px)}.back-to-top[data-astro-cid-isrb4goq]:focus-visible{outline:3px solid var(--color-cyan);outline-offset:2px}.back-to-top[data-astro-cid-isrb4goq].visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top[data-astro-cid-isrb4goq]:active{transform:scale(.95)}@media (max-width: 768px){.back-to-top[data-astro-cid-isrb4goq]{bottom:90px;right:16px;width:44px;height:44px}}.whatsapp-button[data-astro-cid-a3mtbhax]{position:fixed;bottom:24px;right:24px;width:56px;height:56px;background-color:#25d366;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:950;box-shadow:0 4px 12px #25d36666;transition:all var(--transition-base)}.whatsapp-button[data-astro-cid-a3mtbhax]:hover{transform:scale(1.1);box-shadow:0 6px 20px #25d36680}.whatsapp-button[data-astro-cid-a3mtbhax]:focus-visible{outline:3px solid var(--color-white);outline-offset:2px}.whatsapp-button[data-astro-cid-a3mtbhax]:active{transform:scale(.95)}.whatsapp-button__pulse[data-astro-cid-a3mtbhax]{position:absolute;width:100%;height:100%;border-radius:50%;background-color:#25d366;animation:pulse 2s infinite;z-index:-1}@keyframes pulse{0%{transform:scale(1);opacity:.5}70%{transform:scale(1.4);opacity:0}to{transform:scale(1.4);opacity:0}}@media (max-width: 768px){.whatsapp-button[data-astro-cid-a3mtbhax]{bottom:20px;right:16px;width:52px;height:52px}}@media (prefers-reduced-motion: reduce){.whatsapp-button__pulse[data-astro-cid-a3mtbhax]{animation:none}}.lightbox[data-astro-cid-hiopj22y]{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}.lightbox[data-astro-cid-hiopj22y].active{opacity:1;visibility:visible}.lightbox__backdrop[data-astro-cid-hiopj22y]{position:absolute;inset:0;background-color:#000000f2}.lightbox__close[data-astro-cid-hiopj22y]{position:absolute;top:20px;right:20px;width:48px;height:48px;background-color:#ffffff1a;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast);z-index:10}.lightbox__close[data-astro-cid-hiopj22y]:hover{background-color:#fff3}.lightbox__close[data-astro-cid-hiopj22y]:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}.lightbox__nav[data-astro-cid-hiopj22y]{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;background-color:#ffffff1a;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast);z-index:10}.lightbox__nav--prev[data-astro-cid-hiopj22y]{left:20px}.lightbox__nav--next[data-astro-cid-hiopj22y]{right:20px}.lightbox__nav[data-astro-cid-hiopj22y]:hover{background-color:#fff3}.lightbox__nav[data-astro-cid-hiopj22y]:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}.lightbox__nav[data-astro-cid-hiopj22y]:disabled{opacity:.3;cursor:not-allowed}.lightbox__content[data-astro-cid-hiopj22y]{position:relative;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;align-items:center}.lightbox__image[data-astro-cid-hiopj22y]{max-width:100%;max-height:80vh;object-fit:contain;border-radius:var(--border-radius);opacity:0;transition:opacity var(--transition-base)}.lightbox__image[data-astro-cid-hiopj22y].loaded{opacity:1}.lightbox__caption[data-astro-cid-hiopj22y]{color:#fff;margin-top:var(--space-4);font-size:var(--text-sm);text-align:center;max-width:600px}.lightbox__counter[data-astro-cid-hiopj22y]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#ffffffb3;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-semibold)}@media (max-width: 768px){.lightbox__nav[data-astro-cid-hiopj22y]{width:44px;height:44px}.lightbox__nav--prev[data-astro-cid-hiopj22y]{left:10px}.lightbox__nav--next[data-astro-cid-hiopj22y]{right:10px}.lightbox__close[data-astro-cid-hiopj22y]{top:10px;right:10px;width:44px;height:44px}}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/montserrat-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/montserrat-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/montserrat-800.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/opensans-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/opensans-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/opensans-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/opensans-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-white: #ffffff;--color-light-gray: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1e293b;--color-slate-900: #0f172a;--color-cyan: #06b6d4;--color-cyan-dark: #0891b2;--color-cyan-light: #22d3ee;--color-lime: #84cc16;--color-lime-dark: #65a30d;--color-lime-light: #a3e635;--color-primary: var(--color-slate-900);--color-accent: var(--color-cyan);--color-accent-secondary: var(--color-lime);--color-background: var(--color-white);--color-background-alt: var(--color-light-gray);--color-text: var(--color-gray-700);--color-text-dark: var(--color-slate-900);--color-text-light: var(--color-gray-500);--font-heading: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Open Sans", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--container-max: 1280px;--container-padding: var(--space-6);--header-height: 80px;--border-radius-sm: 4px;--border-radius: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-normal);line-height:1.6;color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;border:none;background:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-bold);color:var(--color-text-dark);line-height:1.2;text-transform:uppercase;letter-spacing:.025em}h1{font-size:var(--text-5xl);font-weight:var(--font-extrabold)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}strong{font-weight:var(--font-semibold)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.section{padding-top:var(--space-20);padding-bottom:var(--space-20)}.section--alt{background-color:var(--color-background-alt)}.section--dark{background-color:var(--color-slate-900);color:var(--color-white)}.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4,.section--dark h5,.section--dark h6{color:var(--color-white)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--border-radius-sm);transition:all var(--transition-base);white-space:nowrap}.btn--primary{background-color:var(--color-cyan);color:var(--color-white)}.btn--primary:hover{background-color:var(--color-cyan-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn--secondary{background-color:transparent;color:var(--color-white);border:2px solid var(--color-white)}.btn--secondary:hover{background-color:var(--color-white);color:var(--color-slate-900)}.btn--lime{background-color:var(--color-lime);color:var(--color-slate-900)}.btn--lime:hover{background-color:var(--color-lime-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn--outline{background-color:transparent;color:var(--color-slate-900);border:2px solid var(--color-slate-900)}.btn--outline:hover{background-color:var(--color-slate-900);color:var(--color-white)}.btn--sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn--lg{padding:var(--space-5) var(--space-10);font-size:var(--text-base)}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background-color:#fffffff2;backdrop-filter:blur(10px);border-bottom:1px solid var(--color-gray-200);z-index:1000;transition:all var(--transition-base)}.header--scrolled{box-shadow:var(--shadow-md)}.header__inner{display:flex;align-items:center;justify-content:space-between;height:100%}.header__logo{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-extrabold);color:var(--color-slate-900);letter-spacing:.1em;text-transform:uppercase}.header__logo span{color:var(--color-cyan)}.header__nav,.header__nav-list{display:flex;align-items:center;gap:var(--space-8)}.header__nav-link{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.05em;transition:color var(--transition-fast);position:relative}.header__nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background-color:var(--color-cyan);transition:width var(--transition-base)}.header__nav-link:hover{color:var(--color-slate-900)}.header__nav-link:hover:after{width:100%}.header__cta{margin-left:var(--space-4)}.header__hamburger{display:none;flex-direction:column;justify-content:center;gap:6px;width:32px;height:32px;cursor:pointer}.header__hamburger span{display:block;width:100%;height:2px;background-color:var(--color-slate-900);transition:all var(--transition-base);transform-origin:center}.header__hamburger.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.header__hamburger.active span:nth-child(2){opacity:0}.header__hamburger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-slate-900);overflow:hidden}.hero__background{position:absolute;inset:0;z-index:1}.hero__background img{width:100%;height:100%;object-fit:cover;opacity:.4}.hero__overlay{position:absolute;inset:0;background:linear-gradient(135deg,#0f172ae6,#0f172ab3,#0f172acc);z-index:2}.hero__content{position:relative;z-index:3;text-align:center;max-width:900px;padding:var(--space-8)}.hero__title{font-size:var(--text-6xl);color:var(--color-white);margin-bottom:var(--space-6);line-height:1.1}.hero__title span{color:var(--color-cyan)}.hero__subtitle{font-size:var(--text-xl);color:var(--color-gray-300);margin-bottom:var(--space-10);max-width:700px;margin-left:auto;margin-right:auto;line-height:1.7}.hero__actions{display:flex;align-items:center;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.value-prop{text-align:center}.value-prop__title{margin-bottom:var(--space-4)}.value-prop__subtitle{color:var(--color-text-light);font-size:var(--text-lg);max-width:600px;margin:0 auto var(--space-16)}.value-prop__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.value-card{background-color:var(--color-white);padding:var(--space-10);border-radius:var(--border-radius-lg);box-shadow:var(--shadow);border:1px solid var(--color-gray-100);transition:all var(--transition-base)}.value-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--color-cyan)}.value-card__icon{width:64px;height:64px;background-color:var(--color-cyan);border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-6);color:var(--color-white);font-size:var(--text-2xl)}.value-card__icon--lime{background-color:var(--color-lime);color:var(--color-slate-900)}.value-card__title{margin-bottom:var(--space-4);font-size:var(--text-xl)}.value-card__text{color:var(--color-text-light);font-size:var(--text-base)}.portfolio__header{text-align:center;margin-bottom:var(--space-16)}.portfolio__title{margin-bottom:var(--space-4)}.portfolio__subtitle{color:var(--color-text-light);font-size:var(--text-lg)}.portfolio__category{margin-bottom:var(--space-12)}.portfolio__category:last-child{margin-bottom:0}.portfolio__category-title{font-size:var(--text-lg);color:var(--color-cyan);margin-bottom:var(--space-6);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-cyan);display:inline-block}.portfolio__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6)}.project-card{position:relative;background-color:var(--color-white);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--color-gray-100);transition:all var(--transition-base)}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.project-card__image{position:relative;height:220px;overflow:hidden}.project-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.project-card:hover .project-card__image img{transform:scale(1.05)}.project-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,23,42,.8) 0%,transparent 60%)}.project-card__tag{position:absolute;top:var(--space-4);left:var(--space-4);background-color:var(--color-cyan);color:var(--color-white);padding:var(--space-1) var(--space-3);font-family:var(--font-heading);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--border-radius-sm)}.project-card__tag--lime{background-color:var(--color-lime);color:var(--color-slate-900)}.project-card__content{padding:var(--space-6)}.project-card__title{font-size:var(--text-lg);margin-bottom:var(--space-2);text-transform:none}.project-card__location{font-size:var(--text-sm);color:var(--color-text-light);margin-bottom:var(--space-3)}.project-card__description{font-size:var(--text-sm);color:var(--color-text);line-height:1.6}.tech-stats{text-align:center}.tech-stats__title{margin-bottom:var(--space-12)}.tech-stats__software{display:flex;align-items:center;justify-content:center;gap:var(--space-12);margin-bottom:var(--space-16);flex-wrap:wrap}.tech-stats__software-item{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.1em;transition:color var(--transition-base)}.tech-stats__software-item:hover{color:var(--color-cyan)}.tech-stats__divider{width:100%;max-width:200px;height:2px;background:linear-gradient(to right,transparent,var(--color-cyan),transparent);margin:0 auto var(--space-16)}.tech-stats__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.stat-card{padding:var(--space-8)}.stat-card__number{font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:var(--font-extrabold);color:var(--color-cyan);margin-bottom:var(--space-2);line-height:1}.stat-card__label{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-gray-300);text-transform:uppercase;letter-spacing:.1em}.footer{background-color:var(--color-slate-900);color:var(--color-gray-400);padding:var(--space-16) 0 var(--space-8)}.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-12);margin-bottom:var(--space-12)}.footer__brand{max-width:400px}.footer__logo{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-extrabold);color:var(--color-white);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--space-4)}.footer__logo span{color:var(--color-cyan)}.footer__description{font-size:var(--text-sm);line-height:1.7}.footer__title{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-white);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-6)}.footer__contact-item{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);font-size:var(--text-sm)}.footer__contact-item:last-child{margin-bottom:0}.footer__contact-icon{color:var(--color-cyan);flex-shrink:0;margin-top:2px}.footer__contact-link{transition:color var(--transition-fast)}.footer__contact-link:hover{color:var(--color-cyan)}.footer__locations{font-size:var(--text-sm);line-height:1.8}.footer__divider{width:100%;height:1px;background-color:var(--color-gray-700);margin-bottom:var(--space-8)}.footer__bottom{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm)}.footer__copyright{color:var(--color-gray-500)}.footer__legal{display:flex;gap:var(--space-6)}.footer__legal-link{color:var(--color-gray-500);transition:color var(--transition-fast)}.footer__legal-link:hover{color:var(--color-cyan)}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.text-center{text-align:center}.text-cyan{color:var(--color-cyan)}.text-lime{color:var(--color-lime)}.mb-0{margin-bottom:0}.mb-4{margin-bottom:var(--space-4)}.mb-8{margin-bottom:var(--space-8)}.mb-12{margin-bottom:var(--space-12)}.mb-16{margin-bottom:var(--space-16)}.mt-8{margin-top:var(--space-8)}.mt-12{margin-top:var(--space-12)}[data-theme=dark]{--color-background: #0f172a;--color-background-alt: #1e293b;--color-text: #cbd5e1;--color-text-dark: #f1f5f9;--color-text-light: #94a3b8;--color-gray-100: #334155;--color-gray-200: #475569}[data-theme=dark] body{background-color:var(--color-background);color:var(--color-text)}[data-theme=dark] .header{background-color:#0f172af2;border-bottom-color:var(--color-gray-700)}[data-theme=dark] .header__logo{color:var(--color-white)}[data-theme=dark] .header__nav-link{color:var(--color-gray-300)}[data-theme=dark] .header__nav-link:hover{color:var(--color-white)}[data-theme=dark] .value-card{background-color:var(--color-gray-800);border-color:var(--color-gray-700)}[data-theme=dark] .value-card:hover{border-color:var(--color-cyan)}[data-theme=dark] .project-card{background-color:var(--color-gray-800);border-color:var(--color-gray-700)}[data-theme=dark] .project-card__title{color:var(--color-white)}[data-theme=dark] .portfolio__category-title{color:var(--color-cyan)}[data-theme=dark] .section--alt{background-color:var(--color-background-alt)}[data-theme=dark] .header__nav{background-color:var(--color-slate-900)}[data-theme=dark] .header__nav-list li{border-bottom-color:var(--color-gray-700)}[data-theme=dark] .header__nav-link:active{background-color:var(--color-gray-800)}[data-theme=dark] .footer{background-color:var(--color-slate-900)}@media screen and (max-width: 1024px){:root{--text-6xl: 3rem;--text-5xl: 2.5rem;--text-4xl: 2rem}.section{padding-top:var(--space-16);padding-bottom:var(--space-16)}.value-prop__grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.value-prop__grid .value-card:last-child{grid-column:span 2;max-width:400px;margin:0 auto}.tech-stats__grid{gap:var(--space-6)}.footer__grid{grid-template-columns:1fr 1fr;gap:var(--space-8)}.footer__brand{grid-column:span 2;max-width:none;text-align:center;margin-bottom:var(--space-4)}}@media screen and (max-width: 768px){:root{--text-6xl: 2.5rem;--text-5xl: 2rem;--text-4xl: 1.75rem;--text-3xl: 1.5rem;--container-padding: var(--space-4);--header-height: 70px}.header__hamburger{display:flex}.header__nav{position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background-color:var(--color-white);flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--space-8);transform:translate(100%);transition:transform var(--transition-base);overflow-y:auto;gap:0}.header__nav.active{transform:translate(0)}.header__nav-list{flex-direction:column;align-items:center;gap:0;width:100%}.header__nav-list li{width:100%;text-align:center;border-bottom:1px solid var(--color-gray-100)}.header__nav-link{display:block;padding:var(--space-5) var(--space-4);font-size:var(--text-base)}.header__nav-link:after{display:none}.header__cta{margin-left:0;margin-top:var(--space-6);width:100%;max-width:300px}.header__cta .btn{width:100%;justify-content:center}.hero{min-height:100svh;padding-top:var(--header-height)}.hero__content{padding:var(--space-6)}.hero__title{font-size:var(--text-4xl);margin-bottom:var(--space-4)}.hero__subtitle{font-size:var(--text-base);margin-bottom:var(--space-8)}.hero__actions{flex-direction:column;gap:var(--space-3)}.hero__actions .btn{width:100%;max-width:280px}.value-prop__grid{grid-template-columns:1fr;gap:var(--space-4)}.value-prop__grid .value-card:last-child{grid-column:span 1;max-width:none}.value-card{padding:var(--space-6)}.value-card__icon{width:56px;height:56px;font-size:var(--text-xl)}.value-prop__subtitle,.portfolio__header{margin-bottom:var(--space-10)}.portfolio__grid{grid-template-columns:1fr;gap:var(--space-4)}.portfolio__category{margin-bottom:var(--space-8)}.project-card__image{height:180px}.project-card__content{padding:var(--space-4)}.tech-stats__software{gap:var(--space-6);margin-bottom:var(--space-10)}.tech-stats__software-item{font-size:var(--text-base)}.tech-stats__divider{margin-bottom:var(--space-10)}.tech-stats__grid{grid-template-columns:1fr;gap:var(--space-6)}.stat-card{padding:var(--space-6);border-bottom:1px solid var(--color-gray-700)}.stat-card:last-child{border-bottom:none}.stat-card__number{font-size:var(--text-4xl)}.footer{padding:var(--space-12) 0 var(--space-6)}.footer__grid{grid-template-columns:1fr;gap:var(--space-8);text-align:center}.footer__brand{grid-column:span 1}.footer__contact-item{justify-content:center}.footer__bottom{flex-direction:column;gap:var(--space-4);text-align:center}.footer__legal{gap:var(--space-4)}.btn{padding:var(--space-3) var(--space-6)}.btn--lg{padding:var(--space-4) var(--space-8)}}@media screen and (max-width: 480px){:root{--text-6xl: 2rem;--text-5xl: 1.75rem;--text-4xl: 1.5rem;--text-3xl: 1.25rem;--text-2xl: 1.125rem;--container-padding: var(--space-3)}.section{padding-top:var(--space-12);padding-bottom:var(--space-12)}.hero__title{font-size:var(--text-3xl)}.hero__subtitle{font-size:var(--text-sm)}.value-card{padding:var(--space-5)}.value-card__icon{width:48px;height:48px;font-size:var(--text-lg);margin-bottom:var(--space-4)}.value-card__title{font-size:var(--text-base)}.value-card__text{font-size:var(--text-sm)}.project-card__image{height:160px}.project-card__title{font-size:var(--text-base)}.project-card__description{font-size:var(--text-xs)}.tech-stats__software{flex-direction:column;gap:var(--space-4)}.stat-card__number{font-size:var(--text-3xl)}.stat-card__label{font-size:var(--text-xs)}.footer__legal{flex-direction:column;gap:var(--space-2)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.project-card:hover,.value-card:hover,.btn:hover,.project-card:hover .project-card__image img{transform:none}}@media print{.header,.hero__actions,.header__hamburger{display:none!important}.hero{min-height:auto;padding:var(--space-8);background:none;color:var(--color-slate-900)}.hero__title,.hero__subtitle{color:var(--color-slate-900)}.section--dark{background:none;color:var(--color-slate-900)}.section--dark h1,.section--dark h2,.section--dark h3{color:var(--color-slate-900)}body{font-size:12pt;line-height:1.5}a{text-decoration:underline}.project-card,.value-card{break-inside:avoid;box-shadow:none;border:1px solid var(--color-gray-300)}}@media (prefers-contrast: high){:root{--color-gray-400: #6b7280;--color-gray-500: #4b5563;--color-text-light: #374151}.btn--primary,.btn--lime{border:2px solid currentColor}.header__nav-link:after{height:3px}.project-card,.value-card{border-width:2px}}@media screen and (max-height: 500px) and (orientation: landscape){.hero{min-height:auto;padding:calc(var(--header-height) + var(--space-8)) 0 var(--space-8)}.hero__title{font-size:var(--text-3xl);margin-bottom:var(--space-3)}.hero__subtitle{font-size:var(--text-sm);margin-bottom:var(--space-4)}.hero__actions{flex-direction:row}.hero__actions .btn{width:auto}}@media (hover: none) and (pointer: coarse){.header__nav-link{padding:var(--space-4)}.btn{min-height:48px;min-width:48px}.project-card:hover,.value-card:hover{transform:none}.btn:active{transform:scale(.98);opacity:.9}.project-card:active{transform:scale(.99)}.header__nav-link:active{background-color:var(--color-gray-100)}}@supports (padding: max(0px)){.header{padding-left:max(var(--container-padding),env(safe-area-inset-left));padding-right:max(var(--container-padding),env(safe-area-inset-right))}.footer,.header__nav.active{padding-bottom:max(var(--space-8),env(safe-area-inset-bottom))}}.sr-only[data-astro-cid-sckkx6r4]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
