:root{--color-purple:#0b05c0;--color-purple-dark:#050095;--color-purple-light:#2224c4;--color-purple-rgb:3, 0, 91;--color-purple-light-rgb:34, 36, 196;--color-black:#1a1a1a;--color-white:#fff;--color-gray-50:#f8f8f8;--color-gray-100:#f0f0f0;--color-gray-200:#e5e5e5;--color-gray-400:#9ca3af;--color-gray-600:#4b5563;--font-sans:"Montserrat", system-ui, sans-serif;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 20px #0000001a;--shadow-lg:0 10px 40px rgba(var(--color-purple-rgb), .15);--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--container-max:1200px;--header-height:80px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-black);background:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.6}#root{min-height:100svh}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans)}img{max-width:100%;height:auto}a{color:inherit}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0}.section--gray{background:var(--color-gray-50)}.section--dark{background:var(--color-black)}.logo{flex-shrink:0;text-decoration:none;transition:transform .25s;display:inline-flex}.logo:hover{transform:translateY(-1px)}.logo:active{transform:translateY(0)}.logo__frame{aspect-ratio:1;background:var(--color-white);border:2px solid rgba(var(--color-purple-rgb), .14);box-shadow:0 2px 8px rgba(var(--color-purple-rgb), .08), 0 8px 24px #0000000f;border-radius:50%;justify-content:center;align-items:center;transition:border-color .25s,box-shadow .25s;display:flex;overflow:hidden}.logo:hover .logo__frame{border-color:rgba(var(--color-purple-rgb), .35);box-shadow:0 4px 12px rgba(var(--color-purple-rgb), .16), 0 12px 32px rgba(var(--color-purple-rgb), .1)}.logo__image{object-fit:contain;width:88%;height:88%;transition:transform .35s;display:block}.logo:hover .logo__image{transform:scale(1.05)}.logo--compact .logo__frame{width:56px;height:56px}.logo--full .logo__frame{width:80px;height:80px}.logo--on-dark .logo__frame{background:#fffffff5;border-color:#fff3;box-shadow:0 4px 16px #00000040,0 0 0 1px #ffffff0f}.logo--on-dark:hover .logo__frame{border-color:rgba(var(--color-purple-light-rgb), .6);box-shadow:0 6px 24px #00000059, 0 0 0 1px rgba(var(--color-purple-light-rgb), .25)}@media (width<=768px){.logo--compact .logo__frame{width:48px;height:48px}.logo--full .logo__frame{width:72px;height:72px}}.btn{font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:2px solid #0000;justify-content:center;align-items:center;gap:.5rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--sm{padding:.5rem 1rem;font-size:.8125rem}.btn--md{padding:.75rem 1.5rem;font-size:.9375rem}.btn--lg{padding:1rem 2rem;font-size:1rem}.btn--primary{background:var(--color-purple);color:var(--color-white)}.btn--primary:hover{background:var(--color-purple-dark)}.btn--secondary{background:var(--color-black);color:var(--color-white)}.btn--secondary:hover{background:#333}.btn--outline{color:var(--color-purple);border-color:var(--color-purple);background:0 0}.btn--outline:hover{background:var(--color-purple);color:var(--color-white)}.btn--ghost{color:var(--color-white);border-color:var(--color-white);background:0 0}.btn--ghost:hover{background:var(--color-white);color:var(--color-purple)}.header{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-gray-200);height:var(--header-height);background:#fffffff7;position:fixed;top:0;left:0;right:0}.header__inner{justify-content:space-between;align-items:center;gap:1.5rem;height:100%;display:flex}.header__nav-list{align-items:center;gap:2rem;margin:0;padding:0;list-style:none;display:flex}.header__nav-link{color:var(--color-black);font-size:.875rem;font-weight:600;text-decoration:none;transition:color .2s}.header__nav-link:hover{color:var(--color-purple)}.header__menu-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;display:none}.header__menu-btn span{background:var(--color-black);width:24px;height:2px;transition:transform .3s,opacity .3s;display:block}@media (width<=900px){.header__nav{top:var(--header-height);background:var(--color-white);border-bottom:1px solid var(--color-gray-200);opacity:0;pointer-events:none;padding:1.5rem;transition:transform .3s,opacity .3s;position:fixed;left:0;right:0;transform:translateY(-120%)}.header--open .header__nav{opacity:1;pointer-events:auto;transform:translateY(0)}.header__nav-list{flex-direction:column;align-items:flex-start;gap:1.25rem}.header__cta{display:none}.header__menu-btn{display:flex}.header--open .header__menu-btn span:first-child{transform:translateY(7px)rotate(45deg)}.header--open .header__menu-btn span:nth-child(2){opacity:0}.header--open .header__menu-btn span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}}.hero{min-height:100svh;padding:calc(var(--header-height) + 3rem) 1.5rem 4rem;text-align:center;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero__bg{z-index:0;position:absolute;inset:0}.hero__bg:after{content:"";background:linear-gradient(135deg, #1a1a1ad1 0%, rgba(var(--color-purple-rgb), .62) 100%);position:absolute;inset:0}.hero__bg img{object-fit:cover;width:100%;height:100%;display:block}.hero__overlay{z-index:1;pointer-events:none;background:linear-gradient(#00000073 0%,#0003 45%,#0009 100%);position:absolute;inset:0}.hero__content{z-index:2;text-align:center;flex-direction:column;align-items:center;width:100%;max-width:800px;display:flex;position:relative}.hero__badge{letter-spacing:.25em;text-transform:uppercase;color:var(--color-white);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-shadow:0 1px 4px #00000080;background:#00000059;border:1px solid #ffffff59;border-radius:100px;margin-bottom:1.75rem;padding:.5rem 1.25rem;font-size:.75rem;font-weight:700;display:inline-block}.hero__title{justify-content:center;width:100%;margin:0 0 1rem;display:flex}.hero__title-block{flex-direction:column;align-items:center;max-width:100%;padding-bottom:1rem;display:inline-flex;position:relative}.hero__title-block:after{content:"";background:linear-gradient(90deg, var(--color-purple), var(--color-purple));width:min(5rem,70%);height:4px;box-shadow:0 0 24px rgba(var(--color-purple), .55);border-radius:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hero__title-word{text-transform:uppercase;letter-spacing:.02em;flex-wrap:nowrap;justify-content:center;align-items:baseline;max-width:100%;font-size:clamp(2.5rem,11vw,7rem);font-weight:900;line-height:1;display:inline-flex}.hero__title-metal{color:var(--color-purple);paint-order:stroke fill;letter-spacing:inherit;background:var(--color-purple) transparent 50%;text-shadow:0 0 12px rgba(var(--color-purple-rgb), .8), 0 3px 6px #000, 0 10px 28px #7a7a7a}.hero__title-arte{color:var(--color-white);letter-spacing:inherit;text-shadow:0 1px #000000d9,0 4px 14px #000000b3,0 16px 40px #00000073;font-weight:700}.hero__slogan{color:var(--color-white);text-shadow:0 2px 10px #000000a6;margin:0 0 1.25rem;font-size:clamp(1rem,2.5vw,1.375rem);font-weight:600}.hero__description{color:#ffffffeb;text-shadow:0 1px 8px #0000008c;max-width:600px;margin:0 auto 1.5rem;font-size:1.0625rem;line-height:1.7}.hero__actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:2.5rem;display:flex}.hero__scroll{z-index:2;color:#fff9;letter-spacing:.1em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;animation:2s infinite bounce;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}@keyframes bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(6px)}}@media (width<=600px){.hero{padding-inline:1rem}.hero__title-word{font-size:clamp(2.25rem,12vw,3.25rem)}.hero__actions{flex-direction:column;align-items:stretch}.hero__scroll{display:none}}.section-title{text-align:center;max-width:640px;margin:0 auto 3rem}.section-title__label{letter-spacing:.2em;text-transform:uppercase;color:var(--color-purple);margin-bottom:.75rem;font-size:.75rem;font-weight:700;display:inline-block}.section-title__heading{color:var(--color-black);margin:0 0 1rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;line-height:1.2}.section-title__description{color:var(--color-gray-600);margin:0;font-size:1.0625rem;line-height:1.7}.section-title--light .section-title__label{color:var(--color-purple)}.section-title--light .section-title__heading{color:var(--color-white)}.section-title--light .section-title__description{color:#fffc}.service-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:2rem;transition:box-shadow .25s,border-color .25s,transform .25s}.service-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-purple);transform:translateY(-4px)}.service-card__icon{background:rgba(var(--color-purple-rgb), .1);border-radius:var(--radius-md);width:56px;height:56px;color:var(--color-purple);justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex}.service-card__icon svg{width:28px;height:28px}.service-card__title{color:var(--color-black);margin:0 0 .75rem;font-size:1.25rem;font-weight:700}.service-card__description{color:var(--color-gray-600);margin:0;font-size:.9375rem;line-height:1.7}.services__grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid}.stat-item{text-align:center;flex-direction:column;align-items:center;padding:1.5rem;display:flex}.stat-item__value{color:var(--color-purple);margin-bottom:.5rem;font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1}.stat-item__label{color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.about__grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;margin-bottom:3rem;display:grid}.about__content .section-title{text-align:left;margin:0 0 1.5rem}.about__text p{color:var(--color-gray-600);margin:0 0 1rem;font-size:1rem;line-height:1.8}.about__text strong{color:var(--color-purple)}.about__features{grid-template-columns:1fr 1fr;gap:.75rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.about__features li{color:var(--color-black);align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;display:flex}.about__features li:before{content:"";background:var(--color-purple);border-radius:50%;flex-shrink:0;width:8px;height:8px}.about__visual{position:relative}.about__image-wrapper{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.about__image-wrapper picture{display:block}.about__image{object-fit:cover;width:100%;height:400px;display:block}.about__image-accent{background:var(--color-purple);border-radius:var(--radius-md);z-index:-1;width:120px;height:120px;position:absolute;bottom:-12px;right:-12px}.about__stats{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-gray-200);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=900px){.about__grid{grid-template-columns:1fr;gap:2rem}.about__content .section-title{text-align:center}.about__features{grid-template-columns:1fr}.about__stats{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.about__stats{grid-template-columns:1fr}}.why-us__grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.why-us__card{border-left:3px solid var(--color-purple);background:var(--color-gray-50);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:2rem;transition:background .2s}.why-us__card:hover{background:rgba(var(--color-purple-rgb), .06)}.why-us__number{color:rgba(var(--color-purple-rgb), .15);margin-bottom:.75rem;font-size:2.5rem;font-weight:900;line-height:1;display:block}.why-us__title{color:var(--color-black);margin:0 0 .5rem;font-size:1.125rem;font-weight:700}.why-us__description{color:var(--color-gray-600);margin:0;font-size:.9375rem;line-height:1.7}.carousel-thumb{border-radius:var(--radius-md);cursor:pointer;opacity:.65;background:#000;border:2px solid #0000;flex-shrink:0;width:120px;height:80px;padding:0;transition:opacity .2s,border-color .2s,transform .2s;overflow:hidden}.carousel-thumb:hover{opacity:.9}.carousel-thumb--active{opacity:1;border-color:var(--color-purple-light);transform:scale(1.03)}.carousel-thumb img,.carousel-thumb__video video{object-fit:cover;width:100%;height:100%;display:block}.carousel-thumb__placeholder{background:linear-gradient(135deg,#ffffff0f 0%,#ffffff05 100%);width:100%;height:100%;display:block}.carousel-thumb__video{width:100%;height:100%;position:relative}.carousel-thumb__play{color:var(--color-white);background:#00000059;justify-content:center;align-items:center;font-size:1.25rem;display:flex;position:absolute;inset:0}@media (width<=768px){.carousel-thumb{width:96px;height:64px}}.portfolio-carousel{flex-direction:column;gap:1.25rem;display:flex}.portfolio-carousel__stage{align-items:center;gap:.75rem;display:flex;position:relative}.portfolio-carousel__viewer{aspect-ratio:16/9;border-radius:var(--radius-lg);background:#000;flex:1;position:relative;overflow:hidden}.portfolio-carousel__skeleton{background:linear-gradient(90deg,#ffffff0a 0%,#ffffff1a 50%,#ffffff0a 100%) 0 0/200% 100%;animation:1.2s ease-in-out infinite portfolio-shimmer;position:absolute;inset:0}@keyframes portfolio-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.portfolio-carousel__media{object-fit:contain;opacity:0;background:#000;width:100%;height:100%;transition:opacity .25s;display:block}.portfolio-carousel__media--ready{opacity:1}.portfolio-carousel__arrow{width:48px;height:48px;color:var(--color-white);cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:50%;flex-shrink:0;font-size:1.75rem;line-height:1;transition:background .2s,border-color .2s}.portfolio-carousel__arrow:hover{background:#ffffff2e;border-color:#ffffff73}.portfolio-carousel__footer{flex-direction:column;gap:.75rem;display:flex}.portfolio-carousel__counter{text-align:center;color:#fff9;letter-spacing:.05em;margin:0;font-size:.8125rem;font-weight:600}.portfolio-carousel__track-wrap{align-items:center;gap:.5rem;display:flex}.portfolio-carousel__track{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#ffffff4d transparent;flex:1;gap:.75rem;padding:.25rem 0;display:flex;overflow-x:auto}.portfolio-carousel__track::-webkit-scrollbar{height:6px}.portfolio-carousel__track::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:100px}.portfolio-carousel__track-arrow{width:40px;height:40px;color:var(--color-white);cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:50%;flex-shrink:0;font-size:1.5rem;line-height:1;transition:background .2s}.portfolio-carousel__track-arrow:hover{background:#ffffff26}@media (width<=768px){.portfolio-carousel__stage{flex-direction:column}.portfolio-carousel__arrow{display:none}.portfolio-carousel__viewer{width:100%}}.portfolio__status{text-align:center;color:#ffffffb3;margin:0;font-size:.9375rem}.portfolio__status code{border-radius:var(--radius-sm);background:#ffffff14;padding:.15rem .4rem;font-size:.8125rem}.contact__grid{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.contact__info .section-title{text-align:left;margin-bottom:2rem}.contact__details{flex-direction:column;gap:1.5rem;margin-bottom:2rem;display:flex}.contact__detail{align-items:flex-start;gap:1rem;display:flex}.contact__detail svg{width:24px;height:24px;color:var(--color-purple);flex-shrink:0;margin-top:2px}.contact__detail strong{text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-400);margin-bottom:.25rem;font-size:.8125rem;font-weight:700;display:block}.contact__detail a,.contact__detail span{color:var(--color-black);font-size:1rem;font-weight:600;text-decoration:none}.contact__detail a:hover{color:var(--color-purple)}.contact__whatsapp{width:100%}.contact__form{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:1.25rem;padding:2rem;display:flex}.contact__field{flex-direction:column;gap:.5rem;display:flex}.contact__field label{color:var(--color-black);font-size:.875rem;font-weight:600}.contact__field input,.contact__field select,.contact__field textarea{font-family:var(--font-sans);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--color-gray-50);color:var(--color-black);padding:.75rem 1rem;font-size:.9375rem;transition:border-color .2s}.contact__field input:focus,.contact__field select:focus,.contact__field textarea:focus{border-color:var(--color-purple);background:var(--color-white);outline:none}.contact__field textarea{resize:vertical;min-height:100px}.contact__success{text-align:center;padding:3rem 1rem}.contact__success svg{width:48px;height:48px;color:var(--color-purple);margin-bottom:1rem}.contact__success h3{color:var(--color-black);margin:0 0 .5rem;font-size:1.5rem}.contact__success p{color:var(--color-gray-600);margin:0 0 1.5rem}@media (width<=900px){.contact__grid{grid-template-columns:1fr;gap:2.5rem}.contact__info .section-title{text-align:center}}.fab-button{z-index:1000;cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;width:80px;height:80px;transition:all .3s ease-in-out;display:flex;position:fixed;bottom:20px;right:20px}.fab-button:hover{background:0 0;outline:none;transform:translateY(-5px)}.footer{background:var(--color-black);color:var(--color-white)}.footer__inner{justify-content:space-between;gap:3rem;padding:3rem 1.5rem;display:flex}.footer__brand{max-width:280px}.footer__slogan{color:#fff9;margin:1rem 0 0;font-size:.9375rem;line-height:1.6}.footer__links{gap:4rem;display:flex}.footer__col h4{text-transform:uppercase;letter-spacing:.1em;color:var(--color-purple-light);margin:0 0 1rem;font-size:.8125rem;font-weight:700}.footer__col ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.footer__col a{color:#ffffffb3;font-size:.9375rem;text-decoration:none;transition:color .2s}.footer__col a:hover{color:var(--color-white)}.footer__col li:not(:has(a)){color:#ffffffb3;font-size:.9375rem}.footer__bottom{border-top:1px solid #ffffff1a;padding:1.25rem 0}.footer__bottom p{color:#ffffff80;text-align:center;margin:0;font-size:.8125rem}@media (width<=768px){.footer__inner{text-align:center;flex-direction:column;align-items:center}.footer__links{gap:2rem}}
