*{margin:0;padding:0;box-sizing:border-box}:root{--black: #0a0a0a;--white: #fefefe;--pastel-pink: #ffd6e0;--pastel-blue: #c8e7f5;--pastel-mint: #d4f1e8;--pastel-peach: #ffe5d4;--gray-light: #f5f5f5;--gray-dark: #333}html{width:100%!important;min-width:100%!important;max-width:100%!important;overflow-x:hidden!important;margin:0!important;padding:0!important}body{width:100%!important;min-width:100%!important;max-width:100%!important;overflow-x:hidden!important;margin:0!important;padding:0!important;position:relative;scroll-behavior:smooth;font-family:Georgia,serif;color:var(--gray-dark);background:var(--white);line-height:1.7}*{max-width:100%}html,body,.hero,nav,section,footer{max-width:none!important}img,video,iframe{max-width:100%;height:auto}.logo{width:150px;height:40px;background-image:url(/assets/vistamarte_logo-SJ8nLrss.svg);background-size:cover;background-position:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}nav{position:fixed;top:0;left:0;width:100%;background:#191919d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;padding:1.5rem 5%;transition:all .3s ease}nav.scrolled{padding:1rem 5%}.nav-container{max-width:100%;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.nav-links{display:flex;list-style:none;gap:2.5rem}.nav-links a{color:var(--white);text-decoration:none;font-size:.95rem;letter-spacing:1px;transition:all .3s ease;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--pastel-pink);transition:width .3s ease}.nav-links a:hover:after{width:100%}.menu-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer}.menu-toggle span{width:25px;height:2px;background:var(--white);transition:all .3s ease}.hero{position:relative;left:0;width:100%;height:100vh;background:linear-gradient(#0000004d,#0000004d),url(/assets/vistamarte_hero-CoR_uTpZ.webp) center/cover no-repeat;display:flex;align-items:center;justify-content:center;margin:0;padding:0;overflow:hidden}.hero-content{max-width:1400px;width:100%;margin:0 auto;padding:0 5%;text-align:center;color:var(--white)}.hero h1{font-size:3.5rem;font-weight:300;letter-spacing:3px;margin-bottom:1rem}.hero p{font-size:1.2rem;font-weight:300;letter-spacing:2px;margin-bottom:2.5rem;opacity:.9}.cta-button{display:inline-block;padding:1rem 2.5rem;background:transparent;border:2px solid var(--white);color:var(--white);text-decoration:none;letter-spacing:2px;transition:all .3s ease;font-size:.9rem}.cta-button:hover{background:var(--white);color:var(--black);transform:translateY(-2px)}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translate(-50%);animation:bounce 2s infinite}.scroll-indicator:after{content:"↓";color:var(--white);font-size:2rem;opacity:.7}section{padding:100px 5%;max-width:1400px;margin:0 auto}.section-header{text-align:center;margin-bottom:4rem;opacity:0;transform:translateY(30px);transition:all .6s ease}@media (max-width: 768px){.section-header{padding-top:80px}}.section-header.visible{opacity:1;transform:translateY(0)}.section-header h2{font-size:2.5rem;font-weight:300;letter-spacing:2px;margin-bottom:1rem}.section-header p{font-size:1.1rem;color:#666;max-width:700px;margin:0 auto}.portfolio-gallery{height:100vh;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;position:relative}.portfolio-grid-gallery{-moz-column-count:3;column-count:3;-moz-column-gap:20px;column-gap:20px}.portfolio-item-gallery{display:inline-block;width:100%;margin-bottom:20px;position:relative}.portfolio-item-gallery img{width:100%;height:auto;display:block;-o-object-fit:cover;object-fit:cover;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.portfolio-overlay{position:absolute;bottom:0;width:100%;background:#00000080;color:#fff;padding:10px;text-align:center;opacity:0;transition:opacity .3s ease}.portfolio-item-gallery:hover .portfolio-overlay{opacity:.5}@media (max-width: 1024px){.portfolio-grid-gallery{-moz-column-count:2;column-count:2}}@media (max-width: 768px){.portfolio-grid-gallery{-moz-column-count:1;column-count:1}}@media (max-width: 768px){.portfolio-grid{grid-template-columns:1fr!important;grid-template-rows:auto!important}.portfolio-item{grid-column:auto!important;grid-row:auto!important;height:200px}}.portfolio-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(2,400px);gap:10px}.portfolio-item{width:100%;height:100%;overflow:hidden;border-radius:10px}.portfolio-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.portfolio-item.item1 img{-o-object-position:left center;object-position:left center}.item1{grid-column:1 / span 1;grid-row:1 / span 1}.item2{grid-column:1 / span 1;grid-row:2 / span 1}.item3{grid-column:2 / span 1;grid-row:1 / span 2}.item4{grid-column:3 / span 1;grid-row:1 / span 2}.item5{grid-column:4 / span 2;grid-row:1 / span 1}.item6{grid-column:4 / span 1;grid-row:2/ span 1}.item7{grid-column:5 / span 1;grid-row:2/ span 1}.portfolio-overlay{position:absolute;bottom:0;width:100%;background:linear-gradient(transparent,#000000b3);padding:10px;color:#fff;opacity:0;transition:.3s ease}.portfolio-item.visible{opacity:1;transform:scale(1)}.portfolio-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease}.portfolio-item:hover img{transform:scale(1.05)}.portfolio-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.portfolio-item:hover .portfolio-overlay{opacity:1}.portfolio-overlay span{color:var(--white);font-size:1.3rem;letter-spacing:2px}.filter-menu{display:flex;justify-content:center;gap:2rem;margin-bottom:3rem;flex-wrap:wrap}.filter-btn{background:none;border:none;font-size:1rem;letter-spacing:1px;cursor:pointer;padding:.5rem 1rem;color:#666;transition:all .3s ease;position:relative}.filter-btn.active{color:var(--black)}.filter-btn.active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--pastel-pink)}.about-content{display:grid;grid-template-columns:500px 1fr;gap:4rem;align-items:center}.about-image{width:100%;aspect-ratio:3/4;background-image:url(/assets/vistamarte_aboutme-VLBnW1-j.webp);background-size:cover;background-position:center;border-radius:2%}.about-text h3{font-size:2rem;font-weight:300;margin-bottom:1.5rem;letter-spacing:1px}.about-text p{margin-bottom:1.5rem;color:#555}.services-list{display:flex;gap:20px;margin-top:2rem}.service-row{position:relative;flex:1;height:250px;border-radius:10px;overflow:hidden;display:flex;justify-content:center;align-items:center}.service-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;-o-object-position:center;object-position:center}.service-info{position:absolute;bottom:0;left:0;width:100%;padding:10px;color:#fff;text-align:center;font-size:.91rem;background:#0006}@media (max-width: 768px){.services-list{flex-direction:column;gap:15px}.service-row{height:180px}.service-info{font-size:1rem;padding:8px}}.testimonials-container{max-width:900px;margin:0 auto}.testimonial{text-align:center;padding:3rem;background:var(--gray-light);margin-bottom:2rem;opacity:0;transform:translateY(20px);transition:all .5s ease}.testimonial.visible{opacity:1;transform:translateY(0)}.testimonial-text{font-size:1.2rem;font-style:italic;margin-bottom:1.5rem;color:#555}.testimonial-author{font-size:1rem;font-weight:400;letter-spacing:1px}.contact-container{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem;font-size:.9rem;letter-spacing:1px}.form-group input,.form-group select,.form-group textarea{padding:1rem;border:1px solid #ddd;background:var(--white);font-family:inherit;font-size:1rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--pastel-pink)}.form-group textarea{resize:vertical;min-height:150px}.submit-btn{padding:1rem 2rem;background:var(--black);color:var(--white);border:none;cursor:pointer;letter-spacing:2px;transition:all .3s ease;font-size:1rem}.submit-btn:hover{background:var(--gray-dark);transform:translateY(-2px)}.contact-info h3{font-size:1.8rem;font-weight:300;margin-bottom:2rem;letter-spacing:1px}.contact-item{margin-bottom:1.5rem}.contact-item strong{display:block;margin-bottom:.5rem;letter-spacing:1px}.social-links{display:flex;gap:1.5rem;margin-top:2rem;color:#0a0a0a}.social-links a{display:inline-block;transition:all .3s ease}.social-links img{width:32px;height:32px;display:block;transition:all .3s ease}.social-links a:hover img{transform:translateY(-3px);filter:brightness(1.2)}footer{background:var(--black);color:var(--white);padding:4rem 5% 2rem}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);color:#fff;font-size:.9rem}a:link,a:visited,a:hover,a:active{color:#fff}@keyframes fadeInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}.lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;z-index:2000;align-items:center;justify-content:center}.lightbox.active{display:flex}.lightbox img{max-width:90%;max-height:90%;-o-object-fit:contain;object-fit:contain}.lightbox-close{position:absolute;top:30px;right:30px;font-size:3rem;color:var(--white);cursor:pointer;transition:all .3s ease}.lightbox-close:hover{color:var(--pastel-pink)}@media (max-width: 768px){.menu-toggle{display:flex}.nav-links{position:absolute;top:100%;left:0;width:100%;background:#0a0a0afa;flex-direction:column;padding:2rem;gap:1.5rem;display:none}.nav-links.active{display:flex}.hero h1{font-size:2.5rem}.hero p{font-size:1rem}.portfolio-grid,.about-content,.contact-container,.services-grid{grid-template-columns:1fr}section{padding:60px 5%}.section-header h2{font-size:2rem}}
