@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-color:#050505;--text-primary:#fff;--text-secondary:#a1a1aa;--primary:#9333ea;--primary-hover:#a855f7;--secondary:#06b6d4;--gradient-brand:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);--gradient-dark:linear-gradient(180deg, #18181b 0%, #09090b 100%);--card-bg:#18181b80;--border-color:#ffffff14;--font-sans:"Inter", sans-serif;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}a{color:inherit;transition:var(--transition);text-decoration:none}button{cursor:pointer;border:none;outline:none;font-family:inherit}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:700;line-height:1.2}.text-gradient{background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}.container--portfolio{width:100%;max-width:min(100%,1600px);overflow:visible}.container--portfolio .portfolio-card:not(.portfolio-card--image-only):not(.portfolio-card--row) .portfolio-card-media{height:clamp(268px,30vw,360px)}.container--portfolio .portfolio-card-media--hero{height:clamp(340px,38vw,440px)}.section{padding:6rem 0}.is-home{--home-contact-overlap:clamp(60px, 8vh, 110px);--home-contact-footer-reserve:clamp(160px, 16vh, 220px)}.is-home .home-contact-overlap-section{margin-bottom:calc(-1 * var(--home-contact-overlap));padding-bottom:0}.is-home .home-contact-overlap-card{z-index:45;transform:translateY(var(--home-contact-overlap));position:relative}.is-home .home-contact-overlap-card:hover{transform:translateY(var(--home-contact-overlap))}.is-home .footer{padding-top:calc(4rem + var(--home-contact-footer-reserve))}.btn{transition:var(--transition);border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1rem;font-weight:500;display:inline-flex}.btn-primary{background:var(--gradient-brand);color:#fff;box-shadow:0 4px 14px #9333ea63}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #9333ea3b}.btn-outline{color:var(--text-primary);border:1px solid var(--border-color);background:0 0}.btn-outline:hover{background:#ffffff0d;border-color:#fff3}.btn-outline-strong{background:#00000024;border-color:#ffffff59;box-shadow:inset 0 0 0 1px #ffffff1f}.btn-outline-strong:hover{background:#ffffff12;border-color:#ffffff8c;box-shadow:inset 0 0 0 1px #ffffff2e}.btn-site-visit{font-size:.95rem;font-weight:600;font-family:var(--font-sans);color:#042f2e;transition:var(--transition);background:linear-gradient(165deg,#5eead4 0%,#2dd4bf 45%,#14b8a6 100%);border:1px solid #2dd4bfd9;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.65rem;line-height:1.2;text-decoration:none;display:inline-flex;box-shadow:0 2px #0f766e59,0 8px 24px #06b6d440}.btn-site-visit:hover{color:#021c1c;filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 3px #0f766e66,0 12px 28px #06b6d452}.btn-site-visit:focus-visible{outline:2px solid var(--secondary);outline-offset:3px}.whatsapp-fab-wrap{z-index:60;flex-direction:row;align-items:center;gap:.5rem;max-width:calc(100vw - 2.5rem);display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.whatsapp-fab-bubble-outer{pointer-events:none;flex-shrink:0;animation:4.2s ease-in-out .85s infinite whatsapp-bubble-float}.whatsapp-fab-bubble{isolation:isolate;font-family:var(--font-sans);letter-spacing:.01em;color:#fff;text-shadow:0 1px 2px #00000059;white-space:nowrap;pointer-events:none;background:linear-gradient(125deg,#a855f7 0%,#9333ea 28%,#7c3aed 52%,#0e7490 88%,#06b6d4 100%) 0 0/180% 180%;border:2px solid #ffffff73;border-radius:1.5rem 1.25rem 1.35rem 1.6rem;flex-shrink:0;align-items:center;gap:.4rem;padding:.55rem 1rem .6rem;font-size:.95rem;font-weight:700;line-height:1.2;animation:.55s cubic-bezier(.22,1,.36,1) .4s both whatsapp-bubble-in,5s ease-in-out 1.1s infinite whatsapp-bubble-shimmer;display:inline-flex;position:relative;overflow:visible;box-shadow:0 0 0 1px #9333ea59,0 0 28px #9333ea8c,0 0 40px #06b6d459,0 12px 28px #0006}.whatsapp-fab-bubble:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,#ffffff59 0%,#0000 42% 58%,#ffffff14 100%);position:absolute;inset:0}.whatsapp-fab-bubble:after{content:"";z-index:0;filter:drop-shadow(2px 0 4px #7c3aed80);border-top:8px solid #0000;border-bottom:8px solid #0000;border-left:9px solid #7c3aed;width:0;height:0;position:absolute;top:50%;right:-8px;transform:translateY(-50%)}@keyframes whatsapp-bubble-in{0%{opacity:0;transform:translate(12px)scale(.92)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes whatsapp-bubble-float{0%,to{transform:translate(0)}20%{transform:translate(5px,-14px)}40%{transform:translate(-4px,-7px)}60%{transform:translate(3px,-16px)}80%{transform:translate(-5px,-9px)}}@keyframes whatsapp-bubble-shimmer{0%,to{background-position:0%}50%{background-position:100%}}@keyframes whatsapp-hand-wave{0%,to{transform:rotate(-10deg)}35%{transform:rotate(18deg)}55%{transform:rotate(12deg)}}.whatsapp-fab-label{z-index:1;position:relative}.whatsapp-fab-emoji{z-index:1;filter:drop-shadow(0 2px 4px #00000040);transform-origin:70% 90%;font-size:1.2rem;line-height:1;animation:1.1s ease-in-out infinite whatsapp-hand-wave;display:inline-block;position:relative}@media (prefers-reduced-motion:reduce){.whatsapp-fab-bubble,.whatsapp-fab-bubble-outer,.whatsapp-fab-emoji{animation:none}}.whatsapp-fab{color:#fff;background:#25d366;border:1px solid #ffffff29;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:3.25rem;height:3.25rem;display:inline-flex;box-shadow:0 18px 45px #00000073}.whatsapp-fab-wrap:hover .whatsapp-fab{filter:brightness(1.05);transform:translateY(-2px)}.whatsapp-fab:focus-visible{outline-offset:3px;outline:2px solid #25d366e6}.glass-card{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);transition:var(--transition);border-radius:1.5rem;padding:2.5rem}.glass-card:hover{border-color:#ffffff26;transform:translateY(-5px);box-shadow:0 10px 40px -10px #00000080}.home-service-icon{transition:var(--transition);background:#ffffff08;border-radius:1rem;margin-bottom:1.5rem;padding:1rem;display:inline-flex}.home-service-card:hover{border-color:#9333ea73;box-shadow:0 10px 40px -10px #00000080,0 0 0 1px #9333ea2e,0 0 18px #9333ea38,0 0 42px #9333ea29}.form-group{margin-bottom:1.5rem}.form-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;display:block}.form-input,.form-textarea{border:1px solid var(--border-color);width:100%;color:var(--text-primary);transition:var(--transition);background:#ffffff08;border-radius:.75rem;padding:1rem;font-family:inherit}.form-input:focus,.form-textarea:focus{border-color:var(--primary);background:#ffffff0d;outline:none}.form-textarea{resize:vertical;min-height:120px}.contact-map{border:1px solid var(--border-color);aspect-ratio:16/10;background:#ffffff05;border-radius:1rem;width:100%;min-height:250px;overflow:hidden}.contact-map iframe{border:0;width:100%;height:100%;display:block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:.8s ease-out forwards fadeInUp}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.grid{gap:2rem;display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (width<=1024px){.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.section{padding:4rem 0}}.header{z-index:50;transition:var(--transition);border-bottom:1px solid #0000;padding:1.5rem 0;position:fixed;top:0;left:0;right:0}.header.scrolled{-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--border-color);background:#050505cc;padding:1rem 0}.nav{justify-content:space-between;align-items:center;display:flex}.nav-logo{letter-spacing:-.05em;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:800;display:flex}.nav-logo-img{object-fit:contain;width:132px;height:132px;transition:var(--transition)}.header.scrolled .nav-logo-img{width:110px;height:110px}.nav-links{align-items:center;gap:2.5rem;display:flex}.nav-link{color:#ffffffdb;text-shadow:0 2px 18px #000000a6;font-size:1.125rem;font-weight:600}.header .nav-links .btn{font-size:1.125rem}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.header.scrolled .nav-link{color:#ffffffeb;text-shadow:none}.header.scrolled .nav-link:hover,.header.scrolled .nav-link.active{color:#fff}.mobile-menu-btn{color:var(--text-primary);background:0 0;border:none;padding:.5rem;display:none}@media (width<=768px){.nav-logo-img{width:112px;height:112px}.header.scrolled .nav-logo-img{width:96px;height:96px}.nav-links{display:none}.nav-links.active{background:var(--bg-color);border-bottom:1px solid var(--border-color);flex-direction:column;gap:1.5rem;width:100%;padding:2rem;display:flex;position:absolute;top:100%;left:0}.mobile-menu-btn{display:block}}.footer{border-top:1px solid var(--border-color);background:var(--gradient-dark);padding:4rem 0 2rem}.footer-logo-img{object-fit:contain;width:120px;height:120px}.footer .nav-link{text-shadow:none;font-size:.95rem;font-weight:400}.home-contact-overlap-card .nav-link{text-shadow:none;font-size:1rem;font-weight:400}.portfolio-search{max-width:720px;margin:0 auto 1.25rem;position:relative}.portfolio-search-icon{color:var(--text-secondary);position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.portfolio-search-input{padding-left:2.75rem}.portfolio-filters{flex-wrap:wrap;justify-content:center;gap:.75rem;max-width:1000px;margin:0 auto;display:flex}.portfolio-filter{appearance:none;border:1px solid var(--border-color);color:var(--text-primary);transition:var(--transition);cursor:pointer;background:#ffffff05;border-radius:9999px;padding:.6rem 1rem;font-size:.9rem;font-weight:600}.portfolio-filter:hover{background:#ffffff0f;border-color:#fff3;transform:translateY(-1px)}.portfolio-filter.is-active{background:var(--gradient-brand);color:#fff;border-color:#ffffff38}.portfolio-card{text-align:left;flex-direction:column;padding:0;display:flex;overflow:hidden}.portfolio-card-media{width:100%;min-width:0;height:240px;position:relative;overflow:hidden}.portfolio-card-media--hero{height:340px}.portfolio-card--image-only,.glass-card.portfolio-card--image-only{padding:0}.portfolio-card-image{object-fit:cover;object-position:center;width:100%;max-width:100%;height:100%;transition:transform .6s;display:block;transform:scale(1)}.portfolio-card:hover .portfolio-card-image{transform:scale(1.06)}.portfolio-card-body{flex-direction:column;gap:.85rem;padding:2rem;display:flex}.portfolio-kicker{color:var(--secondary);text-transform:uppercase;letter-spacing:1px;font-size:.85rem;font-weight:700}.portfolio-title{font-size:1.5rem}.portfolio-desc{color:var(--text-secondary);-webkit-line-clamp:4;-webkit-box-orient:vertical;line-height:1.7;display:-webkit-box;overflow:hidden}.portfolio-list{flex-direction:column;gap:2rem;display:flex;overflow:visible}.portfolio-card--row{flex-direction:row;align-items:stretch;position:relative}.portfolio-card--row-reverse{flex-direction:row-reverse;position:relative}.portfolio-card--row:hover,.portfolio-card--row-reverse:hover{z-index:5;overflow:visible}.portfolio-card--row:hover .portfolio-card-media,.portfolio-card--row-reverse:hover .portfolio-card-media{overflow:visible}.portfolio-card--row .portfolio-card-media,.portfolio-card--row-reverse .portfolio-card-media{flex:5 1 0;align-self:stretch;width:auto;min-width:min(100%,320px);height:auto;min-height:clamp(400px,56vh,780px);max-height:none}.portfolio-card--row .portfolio-card-image,.portfolio-card--row-reverse .portfolio-card-image{width:100%;height:100%;position:absolute;inset:0}.portfolio-card--row .portfolio-card-body{flex:52%;justify-content:center;padding:clamp(1.5rem,4vw,2.75rem)}.portfolio-card--row .portfolio-desc{-webkit-line-clamp:3}@media (width<=768px){.portfolio-card--row,.portfolio-card--row-reverse{flex-direction:column}.portfolio-card--row .portfolio-card-media,.portfolio-card--row-reverse .portfolio-card-media{aspect-ratio:16/11;flex:none;width:100%;height:auto;min-height:280px}.portfolio-card--row .portfolio-card-body{flex:none;width:100%}}.home-hero{align-items:center;min-height:100vh;padding-top:8rem;display:flex;position:relative;overflow:hidden}.home-hero-bg{z-index:-2;position:absolute;inset:0}.home-hero-bg-image{object-fit:cover;opacity:.72;filter:saturate(1.06)contrast(1.04)brightness(1.04);width:100%;height:100%;transform:scale(1.02)}.home-hero-bg-overlay{background:radial-gradient(900px 460px at 50% 25%,#9333ea1a 0%,#0000 62%),linear-gradient(#0505056b 0%,#050505ad 65%,#050505db 100%);position:absolute;inset:0}.home-hero-container{text-align:center}.home-hero-content{max-width:860px;margin:0 auto}.home-hero-title{letter-spacing:-.04em;text-wrap:balance;margin-bottom:1.1rem;font-size:clamp(2.3rem,5vw,4.1rem);line-height:1.05}.home-hero-subtitle{color:#ffffffdb;max-width:780px;margin:0 auto 2.25rem;font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.8}.home-hero-cta{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}@media (width<=768px){.home-hero{padding-top:7rem}}.page-hero{text-align:center;justify-content:center;align-items:center;min-height:clamp(420px,52vh,620px);padding:8rem 0 4.5rem;display:flex;position:relative;overflow:hidden}.page-hero-bg{z-index:-2;position:absolute;inset:0}.page-hero-bg-image{object-fit:cover;object-position:50% 28%;opacity:.76;filter:saturate(1.06)contrast(1.04)brightness(1.04);width:100%;height:100%}.page-hero-bg-overlay{background:radial-gradient(900px 420px at 50% 18%,#9333ea14 0%,#0000 65%),linear-gradient(#05050561 0%,#050505a3 70%,#050505d1 100%);position:absolute;inset:0}.page-hero-container{padding:0 2rem}.page-hero-title{letter-spacing:-.04em;text-wrap:balance;margin-bottom:.8rem;font-size:clamp(2.3rem,4.2vw,3.6rem)}.page-hero-subtitle{color:#ffffffd6;max-width:760px;margin:.5rem auto 0;font-size:1.15rem;line-height:1.8}.page-hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}@media (width<=768px){.page-hero{min-height:clamp(380px,58vh,560px);padding:7.25rem 0 3.75rem}.page-hero-subtitle{font-size:1.05rem}}.portfolio-detail-page{padding-top:clamp(10.75rem,18vh,14rem);padding-bottom:clamp(2rem,5vw,4rem)}.portfolio-detail-page-split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(2rem,4vw,3.5rem);display:grid}.portfolio-detail-hero-media{align-self:start;position:sticky;top:7.5rem}.portfolio-detail-main{min-width:0}.portfolio-detail-hero-frame{background:0 0;border-radius:1.25rem;overflow:hidden}.portfolio-detail-hero-img{width:100%;height:auto;display:block}.portfolio-detail-hero-copy{flex-direction:column;gap:1.5rem;margin-bottom:2.5rem;padding:0;display:flex}.portfolio-detail-hero-title{letter-spacing:-.03em;margin:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.1}.portfolio-detail-body{max-width:52rem}.portfolio-related-wrap{min-width:0;margin-top:5rem;padding-bottom:2rem}.portfolio-related-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.35rem;display:flex}.portfolio-related-head--end{justify-content:flex-end}.home-portfolio-featured.grid{overflow:visible}.home-portfolio-featured .portfolio-card{min-width:0;height:100%}.home-portfolio-featured .glass-card.portfolio-card--image-only{-webkit-backdrop-filter:none;box-shadow:none;background:0 0;border:none}.home-portfolio-featured .portfolio-card--image-only{border-radius:1.5rem;position:relative;overflow:hidden}.home-portfolio-featured .portfolio-card--image-only:hover{box-shadow:none;z-index:5;border:none;overflow:visible;transform:none}.home-portfolio-featured .portfolio-card--image-only:hover .portfolio-card-media--hero{overflow:visible}.home-portfolio-featured .portfolio-card-media--hero{aspect-ratio:16/10;flex-shrink:0;height:auto;min-height:0;max-height:420px;overflow:hidden}.home-portfolio-featured .portfolio-card-image{object-fit:cover;object-position:center;width:100%;height:100%;min-height:0}.home-portfolio-featured .portfolio-card:hover .portfolio-card-image{transform:scale(1.04)}.home-portfolio-featured--two{gap:2.25rem;max-width:1100px;margin-left:auto;margin-right:auto;overflow:visible}.portfolio-related-title{margin:0;font-size:2rem;line-height:1.2}.portfolio-related-arrows{gap:.5rem;display:flex}.portfolio-related-arrow{border:1px solid var(--border-color);width:2.75rem;height:2.75rem;color:var(--text-primary);cursor:pointer;transition:var(--transition);background:#ffffff0a;border-radius:9999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.portfolio-related-arrow:hover{color:#fff;background:#9333ea1f;border-color:#9333ea73}.portfolio-related-slider{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;margin:0 -.15rem;padding-bottom:.25rem;scroll-padding-inline:0;overflow-x:auto}.portfolio-related-slider::-webkit-scrollbar{display:none}.portfolio-related-track{gap:1.5rem;padding:.2rem .15rem;display:flex}.portfolio-related-slide{--related-gap:1.5rem;flex:0 0 calc((100% - var(--related-gap)) / 1.5);min-width:calc((100% - var(--related-gap)) / 1.5);max-width:calc((100% - var(--related-gap)) / 1.5);scroll-snap-align:start;min-height:0}.portfolio-related-card{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:100%;margin:0}@media (width<=900px){.portfolio-detail-page-split{grid-template-columns:1fr}.portfolio-detail-hero-media{position:static}.portfolio-detail-hero-copy{margin-bottom:1.75rem}.portfolio-related-slide{flex:0 0 min(88vw,320px);min-width:min(88vw,320px);max-width:min(88vw,320px)}}.portfolio-meta,.portfolio-tech{flex-wrap:wrap;gap:.5rem;display:flex}.portfolio-chip{background:#ffffff0f;border:1px solid #ffffff14;border-radius:9999px;padding:.35rem .75rem;font-size:.85rem}.portfolio-chip.subtle{color:var(--text-secondary);background:#ffffff0a;border-color:#ffffff12}.portfolio-cta{color:var(--primary);align-items:center;gap:.5rem;margin-top:.25rem;font-weight:700;display:inline-flex}
