@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--color-primary: #e11d48;--color-primary-light: #fb7185;--color-secondary: #be123c;--color-background: #0f0f0f;--color-surface: #1a1a2e;--color-surface-hover: #252540;--color-text: #e2e8f0;--color-text-secondary: #94a3b8;--color-accent: #f59e0b;--color-border: #2d2d44;--color-header-bg: rgba(15, 15, 15, .92);--color-sidebar-bg: #13131f;--color-particle: 225, 29, 72;--card-shadow: 0 4px 24px rgba(225, 29, 72, .18);--font-family: "Inter", sans-serif;--border-radius-weight: 1}*,*:before,*:after{box-sizing:border-box;transition:all .5s ease-in}html{scroll-behavior:smooth;font-size:16px}body{margin:0;padding:0;background-color:var(--color-background);color:var(--color-text);font-family:var(--font-family);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background-color .1s ease-out}a{color:inherit;text-decoration:none}button{font-family:inherit}img,svg{display:block;max-width:100%}#root{min-height:100vh}.header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background-color .3s,backdrop-filter .3s,box-shadow .3s}.header--scrolled{background:var(--color-header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--color-border)}.header-inner{max-width:1280px;margin:0 auto;padding:0 2rem;height:68px;display:flex;align-items:center;gap:2rem}.header-logo{display:flex;align-items:center;gap:.5rem;flex-shrink:0;text-decoration:none}.logo-mark{display:flex;align-items:center;justify-content:center;width:34px;height:34px;color:#fff;font-size:1rem;font-weight:800;padding:1px;border-radius:calc(var(--border-radius-weight) * 8px);flex-shrink:0}.logo-theme{filter:brightness(0) saturate(100%) invert(1);filter:hue-rotate(var(--logo-hue-rotate)) grayscale(var(--logo-greyscale));transition:filter .1s ease}.logo-text{font-size:1.2rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.header-nav{display:flex;align-items:center;gap:.25rem;margin-left:auto}.nav-link{color:var(--color-text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;padding:.45rem .8rem;border-radius:calc(var(--border-radius-weight) * 8px);transition:color .2s,background-color .2s;white-space:nowrap}.nav-link:hover{color:var(--color-text);background:var(--color-surface-hover)}.header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.lang-selector{display:flex;align-items:center;gap:.15rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--border-radius-weight) * 20px);padding:.2rem .5rem}.lang-btn{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:.72rem;font-weight:700;padding:.2rem .45rem;border-radius:calc(var(--border-radius-weight) * 20px);transition:color .2s,background-color .2s;letter-spacing:.06em}.lang-btn:hover{color:var(--color-text)}.lang-btn--active{background:var(--color-primary);color:#fff!important}.lang-divider{color:var(--color-border);font-size:.7rem;-webkit-user-select:none;user-select:none}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;width:36px;height:36px}.hamburger span{display:block;height:2px;background:var(--color-text);border-radius:2px;transition:transform .3s,opacity .3s}.hamburger--open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger--open span:nth-child(2){opacity:0}.hamburger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:768px){.hamburger{display:flex}.header-nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:.75rem;gap:.2rem;z-index:99}.header-nav--open{display:flex}.nav-link{padding:.75rem 1rem;font-size:.95rem}}.sidebar{position:fixed;left:0;bottom:100px;width:auto;background:var(--color-sidebar-bg);border:1px solid var(--color-border);border-radius:calc(var(--border-radius-weight) * 18px);border-top-left-radius:0;border-bottom-left-radius:0;z-index:200;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .35s ease;box-shadow:0 4px 20px #00000040}.sidebar--open{transform:translate(0)}.sidebar-themes{padding:.5rem;display:flex;flex-direction:column;gap:.4rem}.theme-card{position:relative;display:flex;align-items:center;justify-content:center;padding:.4rem;background:none;border:2px solid transparent;border-radius:calc(var(--border-radius-weight) * 10px);cursor:pointer;transition:background-color .2s,border-color .2s,transform .2s}.theme-card:hover{background:var(--color-surface-hover);border-color:var(--color-border);transform:scale(1.05)}.theme-card--active{background:var(--color-surface)!important;border-color:var(--color-primary)!important}.theme-swatch{display:flex;border-radius:calc(var(--border-radius-weight) * 8px);overflow:hidden;flex-shrink:0;width:40px;height:26px;border:1px solid rgba(255,255,255,.08)}.swatch-color{flex:1}.theme-check{position:absolute;top:2px;right:2px;color:var(--color-primary);font-size:.7rem;font-weight:700;background:var(--color-background);border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;line-height:1}.sidebar-toggle{position:fixed;left:1rem;bottom:2rem;z-index:198;width:50px;height:50px;border-radius:50%;border:none;background:var(--color-primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #00000059;transition:transform .2s,background-color .35s,box-shadow .2s}.sidebar-toggle:hover{transform:scale(1.1);box-shadow:0 6px 30px #00000073}.sidebar-toggle--open{transform:scale(.93)}.hero{position:relative;width:100%;height:100vh;min-height:620px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--color-background);transition:background-color .35s ease}.hero-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}.hero-overlay{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,transparent 20%,var(--color-background) 75%);pointer-events:none;transition:background .35s ease}.hero-content{position:relative;z-index:2;text-align:center;max-width:740px;padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center}.hero-logo{width:120px;height:120px;margin-bottom:2rem;animation:logoFloat 3s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.hero-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--color-primary);margin-bottom:1.25rem}.hero-headline{font-size:clamp(2.4rem,5.5vw,4.5rem);font-weight:800;line-height:1.08;color:var(--color-text);margin:0 0 1.5rem;letter-spacing:-.035em}.hero-sub{font-size:clamp(.95rem,1.8vw,1.15rem);color:var(--color-text-secondary);line-height:1.75;margin:0 0 2.5rem;max-width:560px}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.9rem;border-radius:calc(var(--border-radius-weight) * 10px);font-size:.9rem;font-weight:600;text-decoration:none;transition:filter .2s,transform .2s,box-shadow .2s,border-color .2s,color .2s;border:2px solid transparent;cursor:pointer;white-space:nowrap}.btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 4px 18px #00000040}.btn--primary:hover{filter:brightness(1.12);transform:translateY(-2px);box-shadow:0 8px 28px #00000059}.btn--outline{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn--outline:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px)}.hero-scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:2;color:var(--color-text-secondary);animation:scrollBounce 2.2s ease-in-out infinite}.scroll-arrow{font-size:1.4rem}@keyframes scrollBounce{0%,to{transform:translate(-50%) translateY(0);opacity:.6}50%{transform:translate(-50%) translateY(9px);opacity:1}}.section{padding:6rem 2rem;background:var(--color-background);transition:background-color .35s ease}.section--alt{background:var(--color-surface)}.container{max-width:1180px;margin:0 auto}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;color:var(--color-text);margin:0 0 .75rem;letter-spacing:-.025em}.section-title:after{content:"";display:block;width:44px;height:4px;background:var(--color-primary);border-radius:2px;margin:.9rem auto 0;transition:background-color .35s ease}.section-subtitle{font-size:1rem;color:var(--color-text-secondary);max-width:540px;margin:1.25rem auto 0;line-height:1.75}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.25rem}.service-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--border-radius-weight) * 12px);padding:1.75rem;transition:transform .22s,box-shadow .22s,border-color .22s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--card-shadow);border-color:var(--color-primary)}.service-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.service-icon{position:relative;color:var(--color-primary);width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:calc(var(--border-radius-weight) * 11px);flex-shrink:0}.service-icon:before{content:"";position:absolute;inset:0;border-radius:calc(var(--border-radius-weight) * 11px);background:var(--color-primary);opacity:.12;transition:opacity .2s}.service-card:hover .service-icon:before{opacity:.2}.service-title{font-size:1.05rem;font-weight:700;color:var(--color-text);margin:0}.service-desc{font-size:.875rem;color:var(--color-text-secondary);line-height:1.7;margin:0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}.project-card{cursor:pointer;background:var(--color-background);border:1px solid var(--color-border);border-radius:calc(var(--border-radius-weight) * 12px);overflow:hidden;transition:transform .22s,box-shadow .22s}.project-card:hover{transform:translateY(-5px);box-shadow:var(--card-shadow)}.project-visual{height:190px;position:relative;display:flex;align-items:flex-end;padding:1rem}.project-tag{display:inline-block;background:#0006;color:#fff;font-size:.7rem;font-weight:700;padding:.22rem .7rem;border-radius:20px;letter-spacing:.07em;text-transform:uppercase;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.project-body{padding:1.5rem}.project-card-action{background:var(--color-background);border:1px solid var(--color-border);border-radius:calc(var(--border-radius-weight) * 12px);overflow:hidden;transition:transform .22s,box-shadow .22s;display:flex;flex-direction:column}.project-action{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:1.5rem;cursor:pointer;box-shadow:inset 0 0 5px var(--color-border);transition:background-color .5s}.project-action:hover{background:var(--color-surface-hover)}.project-title{font-size:1.05rem;font-weight:700;color:var(--color-text);margin:0 0 .55rem}.project-desc{font-size:.875rem;color:var(--color-text-secondary);line-height:1.65;margin:0 0 1.25rem}.project-link{color:var(--color-primary);font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:.25rem;transition:gap .2s}.project-link:hover{gap:.5rem}.project-card--active{border-color:var(--color-primary)!important;box-shadow:var(--card-shadow)}.project-detail{margin-top:2rem;border:1px solid var(--color-border);border-radius:calc(var(--border-radius-weight) * 18px);background:var(--color-background);overflow:hidden;animation:detailFadeIn .3s ease}@keyframes detailFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.project-detail-inner{padding:2rem}.project-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.project-detail-heading{display:flex;flex-direction:column;gap:.5rem}.project-tag--detail{display:inline-block;background:var(--color-primary);color:#fff;font-size:.7rem;font-weight:700;padding:.22rem .8rem;border-radius:20px;letter-spacing:.07em;text-transform:uppercase;width:fit-content}.project-detail-title{font-size:clamp(1.4rem,2.5vw,2rem);font-weight:800;color:var(--color-text);margin:0;letter-spacing:-.025em}.project-detail-close{background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;width:36px;height:36px;flex-shrink:0;cursor:pointer;color:var(--color-text-secondary);font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:background-color .2s,color .2s,transform .2s}.project-detail-close:hover{background:var(--color-surface-hover);color:var(--color-text);transform:scale(1.1)}.project-detail-body{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}@media(max-width:780px){.project-detail-body{grid-template-columns:1fr}}.project-gallery{display:flex;flex-direction:column;gap:.75rem}.project-gallery-main{position:relative;border-radius:calc(var(--border-radius-weight) * 12px);overflow:hidden;aspect-ratio:16 / 9;background:var(--color-surface)}.project-gallery-img{width:100%;height:100%;object-fit:cover;display:block}.project-gallery-placeholder{border-radius:calc(var(--border-radius-weight) * 12px);aspect-ratio:16 / 9;opacity:.7}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;border:none;color:#fff;font-size:1.6rem;line-height:1;width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background-color .2s,transform .2s;z-index:1}.gallery-nav:hover{background:#000000bf;transform:translateY(-50%) scale(1.1)}.gallery-nav--prev{left:.6rem}.gallery-nav--next{right:.6rem}.project-gallery-thumbs{display:flex;gap:.5rem;flex-wrap:wrap}.gallery-thumb{width:64px;height:44px;border-radius:calc(var(--border-radius-weight) * 8px);overflow:hidden;padding:0;border:2px solid transparent;cursor:pointer;transition:border-color .2s;background:none}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-thumb--active{border-color:var(--color-primary)}.project-detail-desc{display:flex;flex-direction:column;gap:1.5rem}.project-detail-desc p{color:var(--color-text-secondary);font-size:.925rem;line-height:1.85;margin:0}.clients-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.client-logo{display:flex;align-items:center;justify-content:center;height:90px;border:1px solid var(--color-border);border-radius:calc(var(--border-radius-weight) * 12px);background:var(--color-surface);padding:1rem 1.25rem;transition:border-color .2s,color .2s,transform .2s,box-shadow .2s}.client-logo--link{cursor:pointer;text-decoration:none}.client-logo:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--card-shadow)}.client-logo-img{max-width:100%;max-height:52px;width:auto;height:auto;object-fit:contain;opacity:.85;transition:opacity .2s,transform .2s}.client-logo--has-image{background:var(--color-secondary)}.client-logo--has-image:hover{border-color:var(--color-primary)}.client-logo:hover .client-logo-img{opacity:1;transform:scale(1.05)}.client-logo-name{color:var(--color-text-secondary);font-weight:700;font-size:.9rem;letter-spacing:-.01em;transition:color .2s}.client-logo:hover .client-logo-name{color:var(--color-primary)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}@media(max-width:860px){.about-layout{grid-template-columns:1fr;gap:3rem}}.about-text h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;color:var(--color-text);margin:0 0 .75rem;letter-spacing:-.025em}.about-text h2:after{content:"";display:block;width:44px;height:4px;background:var(--color-primary);border-radius:2px;margin-top:1rem;transition:background-color .35s ease}.about-subtitle{font-size:1rem;font-weight:600;color:var(--color-primary);margin:1.5rem 0 1rem;transition:color .35s ease}.about-description{font-size:.925rem;color:var(--color-text-secondary);line-height:1.8;margin:0}.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.stat-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:calc(var(--border-radius-weight) * 14px);padding:1.5rem 1.25rem;text-align:center;transition:border-color .22s,box-shadow .22s,transform .22s}.stat-card:hover{border-color:var(--color-primary);box-shadow:var(--card-shadow);transform:translateY(-3px)}.stat-value{display:block;font-size:2.1rem;font-weight:800;color:var(--color-primary);letter-spacing:-.04em;transition:color .35s ease}.stat-label{display:block;font-size:.78rem;color:var(--color-text-secondary);margin-top:.3rem;font-weight:500}.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;align-items:start}@media(max-width:860px){.contact-layout{grid-template-columns:1fr;gap:3rem}}.contact-info{display:flex;flex-direction:column;gap:2rem}.contact-info-item{display:flex;align-items:flex-start;gap:1.25rem}.contact-info-icon{width:48px;height:48px;flex-shrink:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--border-radius-weight) * 12px);display:flex;align-items:center;justify-content:center;color:var(--color-primary);font-size:1.2rem;transition:border-color .22s,box-shadow .22s}.contact-info-item:hover .contact-info-icon{border-color:var(--color-primary);box-shadow:var(--card-shadow)}.contact-info-text{display:flex;flex-direction:column;gap:.25rem;padding-top:.2rem}.contact-info-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary)}.contact-info-value{font-size:.95rem;color:var(--color-text);font-weight:500;transition:color .2s;text-decoration:none}a.contact-info-value:hover{color:var(--color-primary)}.contact-form{display:flex;flex-direction:column;gap:1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--border-radius-weight) * 16px);padding:2.5rem;transition:background-color .35s ease,border-color .35s ease}.contact-field{display:flex;flex-direction:column;gap:.4rem}.contact-field label{font-size:.825rem;font-weight:600;color:var(--color-text-secondary);letter-spacing:.03em}.contact-field input,.contact-field textarea{background:var(--color-background);border:1px solid var(--color-border);border-radius:calc(var(--border-radius-weight) * 10px);padding:.75rem 1rem;color:var(--color-text);font-family:var(--font-family);font-size:.9rem;outline:none;transition:border-color .22s,box-shadow .22s;resize:vertical;width:100%}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--color-text-secondary);opacity:.6}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--color-primary);box-shadow:var(--card-shadow)}.contact-field textarea{min-height:130px}.contact-submit{align-self:flex-start;margin-top:.25rem}.footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:3rem 2rem;transition:background-color .35s ease}.footer-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem}.footer-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;margin-bottom:.25rem}.footer-tagline{font-size:.875rem;color:var(--color-text-secondary);margin:0}.footer-links{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center}.footer-link{color:var(--color-text-secondary);text-decoration:none;font-size:.875rem;transition:color .2s}.footer-link:hover{color:var(--color-primary)}.footer-copy{font-size:.78rem;color:var(--color-text-secondary);opacity:.55;margin:0}.whatsapp-float{position:fixed;width:60px;height:60px;bottom:30px;right:30px;background-color:#25d366;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #25d3664d;z-index:1000;transition:all .3s ease-in-out;text-decoration:none;border:none;cursor:pointer}.whatsapp-float:hover{background-color:#20ba5f;transform:scale(1.1);box-shadow:0 6px 20px #25d36666}.whatsapp-float:active{transform:scale(.95)}.whatsapp-float svg{width:32px;height:32px}@media(max-width:768px){.whatsapp-float{width:56px;height:56px;bottom:20px;right:20px}.whatsapp-float svg{width:28px;height:28px}}
