:root{--black-primary:#1a1a1a;--black-secondary:#2d2d2d;--gray-dark:#404040;--gray-medium:#6b6b6b;--gray-light:#a8a8a8;--white-off:#f5f5f5;--white-pure:#ffffff;--accent:#c5c5c5;--accent-gold:#d4af37}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:Montserrat,sans-serif;background-color:var(--white-off);color:var(--black-primary);line-height:1.6;overflow-x:hidden;margin:0;padding:0;width:100%}.hero-header{position:fixed;top:0;left:0;width:100%;height:100vh;min-height:80px;background:var(--black-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;will-change:height;overflow:hidden}.hero-header::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--black-primary) 0,var(--black-secondary) 100%);z-index:-1;opacity:1;transition:opacity .5s ease}.hero-header.scrolled::before{opacity:.95}.hero-header.scrolled{box-shadow:0 2px 10px rgba(0,0,0,.3)}.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem, 8vw, 7rem);font-weight:300;color:var(--white-pure);text-align:center;letter-spacing:.1em;opacity:1;transition:opacity .1s linear,transform .1s linear;transform:translateY(-65px);pointer-events:none;margin-bottom:40px}.hero-subtitle{font-size:clamp(.9rem, 2vw, 1.2rem);color:var(--gray-light);letter-spacing:.3em;margin-top:40px;opacity:1;transition:opacity .1s linear;text-transform:uppercase;transform:translateY(35px)}.logo-container{position:absolute;opacity:0;transition:opacity .1s linear,transform .1s linear;pointer-events:none;transform:scale(.8);top:50%;left:50%;margin-top:-100px;margin-left:-100px}.hamburger-menu{position:absolute;left:30px;top:50%;transform:translateY(-50%);width:40px;height:40px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;z-index:1001;opacity:0;pointer-events:none;transition:opacity .3s ease;background:0 0;border:none;padding:0;outline:0}.hamburger-menu:focus{outline:0}.hamburger-menu:focus-visible{outline:2px solid var(--gray-light);outline-offset:4px}.hamburger-menu.visible{opacity:1;pointer-events:auto}.hamburger-line{width:30px;height:2px;background:var(--white-pure);transition:all .3s ease}.hamburger-menu.active .hamburger-line:first-child{transform:translateY(8px) rotate(45deg)}.hamburger-menu.active .hamburger-line:nth-child(2){opacity:0}.hamburger-menu.active .hamburger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.nav-menu{position:fixed;top:80px;left:-100%;width:300px;height:calc(100vh - 80px);background:var(--black-primary);z-index:999;transition:left .4s cubic-bezier(.4, 0, .2, 1);overflow-y:auto;box-shadow:2px 0 10px rgba(0,0,0,.3)}.nav-menu.active{left:0}.nav-menu ul{list-style:none;padding:40px 0}.nav-menu li{margin:0}.nav-menu a{display:block;padding:20px 30px;color:var(--white-pure);text-decoration:none;font-size:1.1rem;font-weight:500;letter-spacing:.05em;transition:all .3s ease;border-left:3px solid transparent}.nav-menu a:hover{background:var(--black-secondary);border-left-color:var(--accent);padding-left:40px}.menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:998;opacity:0;pointer-events:none;transition:opacity .4s ease}.menu-overlay.active{opacity:1;pointer-events:auto}.logo{width:200px;height:200px;background:0 0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:2.5rem;font-weight:700;color:var(--black-primary);overflow:hidden;transition:border-radius .3s ease}#logo-text{display:flex;align-items:center;justify-content:center;width:100%;height:100%}#logo-image{display:none!important}.logo.square-shape{border-radius:0}.logo.circle-shape{border-radius:50%}.logo.has-image #logo-text{display:none}.logo.has-image #logo-image{display:flex!important;width:100%;height:100%;object-fit:contain;padding:2px}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);color:var(--gray-light);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;opacity:1;transition:opacity .3s ease;animation:bounce 2s infinite}@keyframes bounce{0%,100%,20%,50%,80%{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-10px)}60%{transform:translateX(-50%) translateY(-5px)}}main{margin-top:0;padding-top:100vh;position:relative;z-index:1;background-color:var(--white-off);overflow-x:hidden;width:100%}section{padding:100px 5%;scroll-margin-top:80px;background-color:var(--white-off);position:relative;z-index:10;width:100%;box-sizing:border-box;overflow:hidden}.container{max-width:1200px;margin:0 auto}h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem, 5vw, 4rem);font-weight:300;color:var(--black-primary);margin-bottom:3rem;text-align:center;letter-spacing:.05em}.intro{background:var(--white-off);text-align:center;position:relative;z-index:10}.intro p{font-size:1.2rem;color:var(--gray-dark);max-width:700px;margin:0 auto;line-height:1.8}.services{background-color:var(--white-pure)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;margin-top:60px}.service-card{background:var(--white-off);padding:40px 30px;border-radius:2px;transition:transform .3s ease,box-shadow .3s ease;border-left:3px solid var(--black-primary)}.service-card:hover{transform:translateY(-5px);box-shadow:0 10px 40px rgba(0,0,0,.1)}.service-card h3{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:600;color:var(--black-primary);margin-bottom:1rem}.service-card p{color:var(--gray-medium);margin-bottom:1.5rem;font-size:.95rem}.service-price{font-weight:600;color:var(--accent-gold);font-size:1.1rem}.gallery{background:var(--black-primary);color:var(--white-pure)}.gallery h2{color:var(--white-pure)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:60px}.gallery-item{aspect-ratio:1;background:var(--black-secondary);border-radius:0;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(255,184,0,.2);box-shadow:inset 0 0 20px rgba(255,184,0,.05)}.gallery-item:hover{transform:scale(1.03);box-shadow:inset 0 0 30px rgba(255,184,0,.1),0 0 20px rgba(255,184,0,.1)}.gallery-placeholder{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .3s ease;background:var(--black-secondary)}.gallery-item:hover .gallery-placeholder{transform:scale(1.03)}.about{background:var(--white-pure)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about-text h3{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--black-primary);margin-bottom:1.5rem}.about-text p{color:var(--gray-dark);margin-bottom:1.5rem;line-height:1.8}.about-image{width:100%;height:auto;background:0 0;border-radius:2px;display:flex;align-items:center;justify-content:center;overflow:visible}.about-image img{width:100%;height:auto;aspect-ratio:570/736;object-fit:contain;object-position:center}footer{background:var(--black-primary);color:var(--gray-light);padding:60px 5% 30px;width:100%;box-sizing:border-box;overflow:hidden}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;margin-bottom:60px}.footer-brand h3{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--white-pure);margin-bottom:1.5rem}.footer-brand p{color:var(--gray-light);line-height:1.8;margin-bottom:1.5rem}.footer-section h4{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--white-pure);margin-bottom:1.5rem}.footer-section a,.footer-section p{color:var(--gray-light);text-decoration:none;display:block;margin-bottom:.5rem;transition:color .3s ease}.footer-section a:hover{color:var(--accent)}.footer-reviews{margin-bottom:40px}ul{list-style:none}.example-2{display:flex;justify-content:start;align-items:center}.example-2 .icon-content{margin:0 10px;position:relative}.example-2 .icon-content .tooltip{position:absolute;top:-30px;left:50%;transform:translateX(-50%);color:#fff;padding:6px 10px;border-radius:5px;opacity:0;visibility:hidden;font-size:14px;transition:all .3s ease}.example-2 .icon-content:hover .tooltip{opacity:1;visibility:visible;top:-50px}.example-2 .icon-content a{position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;width:50px;height:50px;border-radius:50%;color:#4d4d4d;background-color:#fff;transition:all .3s ease-in-out}.example-2 .icon-content a:hover{box-shadow:3px 2px 45px 0 rgb(0 0 0 / 12%)}.example-2 .icon-content a svg{position:relative;z-index:1;width:30px;height:30px}.example-2 .icon-content a:hover{color:#fff}.example-2 .icon-content a .filled{position:absolute;top:auto;bottom:0;left:0;width:100%;height:0;background-color:#000;transition:all .3s ease-in-out}.example-2 .icon-content a:hover .filled{height:100%}.example-2 .icon-content a[data-social=whatsapp] .filled,.example-2 .icon-content a[data-social=whatsapp]~.tooltip{background-color:#128c7e}.example-2 .icon-content a[data-social=facebook] .filled,.example-2 .icon-content a[data-social=facebook]~.tooltip{background-color:#3b5998}.example-2 .icon-content a[data-social=instagram] .filled,.example-2 .icon-content a[data-social=instagram]~.tooltip{background:linear-gradient(45deg,#405de6,#5b51db,#b33ab4,#c135b4,#e1306c,#fd1f1f)}.example-2 .icon-content a[data-social=youtube] .filled,.example-2 .icon-content a[data-social=youtube]~.tooltip{background-color:red}.Btn{display:flex;align-items:center;justify-content:flex-start;bottom:25px;right:25px;width:60px;height:60px;border:none;border-radius:50%;cursor:pointer;position:fixed;overflow:hidden;z-index:99999;opacity:0;visibility:hidden;transition-duration:.3s ease;box-shadow:2px 2px 10px rgba(0,0,0,.199);background-color:#058337c7}@keyframes whatsappBounce{0%{transform:translateY(0)}20%{transform:translateY(-12px)}40%{transform:translateY(0)}60%{transform:translateY(-6px)}80%{transform:translateY(0)}100%{transform:translateY(0)}}.Btn.visible{opacity:1;visibility:visible;animation:whatsappBounce 4s infinite}.sign{width:100%;transition-duration:.3s;display:flex;align-items:center;justify-content:center}.sign svg{width:25px}.sign svg path{fill:rgba(255,255,255,0.773)}.text{position:absolute;text-decoration:none;right:0;width:0%;margin:auto;opacity:0;color:rgba(255,255,255,.773);font-size:1.2em;font-weight:600;transition-duration:.3s}.Btn:hover{width:150px;border-radius:40px;transition-duration:.3s}.Btn:hover .sign{width:30%;transition-duration:.3s;padding-left:10px}.Btn:hover .text{opacity:1;width:70%;transition-duration:.3s;padding-right:10px}.Btn:active{transform:translate(2px,2px)}.footer-contact-section{background:var(--black-secondary);padding:60px 5%;margin:0;overflow-x:hidden;overflow-y:visible;width:100%;box-sizing:border-box}.footer-contact-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1200px;margin:0 auto;align-items:start}.footer-form h4,.footer-map h4{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--white-pure);margin-bottom:2rem}.map-link{display:block;text-decoration:none}.map-container{position:relative;width:100%;height:400px;border-radius:5px;overflow:hidden;cursor:pointer}.map-container iframe{pointer-events:none}.map-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--gray-dark),var(--black-secondary));display:flex;align-items:center;justify-content:center;color:var(--white-pure);font-size:1.5rem;z-index:1}.map-placeholder-content{text-align:center}.map-placeholder-content p{margin:0;font-family:Montserrat,sans-serif}.map-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;opacity:0;transition:all .3s ease}.map-overlay span{background:var(--white-pure);color:var(--black-primary);padding:15px 30px;border-radius:2px;font-weight:600;transform:translateY(10px);transition:transform .3s ease}.map-link:hover .map-overlay{background:rgba(0,0,0,.6);opacity:1}.map-link:hover .map-overlay span{transform:translateY(0)}.contact-form-footer{display:flex;flex-direction:column;gap:20px}.contact-form-footer .form-group{display:flex;flex-direction:column}.contact-form-footer input,.contact-form-footer textarea{padding:15px;border:1px solid var(--gray-dark);border-radius:2px;font-family:Montserrat,sans-serif;font-size:1rem;background:var(--black-primary);color:var(--white-pure);transition:border-color .3s ease}.contact-form-footer input::placeholder,.contact-form-footer textarea::placeholder{color:var(--gray-medium)}.contact-form-footer input:focus,.contact-form-footer textarea:focus{outline:0;border-color:var(--white-pure)}.contact-form-footer textarea{resize:vertical;min-height:120px}.contact-form-footer .submit-btn{background:var(--white-pure);color:var(--black-primary);padding:15px 40px;border:none;border-radius:2px;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:500;cursor:pointer;transition:background .3s ease,transform .3s ease;text-transform:uppercase;letter-spacing:.1em}.contact-form-footer .submit-btn:hover{background:var(--accent);transform:translateY(-2px)}.footer-bottom{text-align:center;padding-top:30px;border-top:1px solid var(--gray-dark);color:var(--gray-medium);font-size:.9rem;margin-top:60px}@media (max-width:768px){section{padding:60px 5%}.about-content,.contact-content{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr}.hero-header.scrolled{height:70px}.logo{width:80px;height:80px;font-size:1rem}.logo-container{margin-top:-40px;margin-left:-40px}.hero-title{margin-bottom:30px;transform:translateY(-50px)}.hero-subtitle{margin-top:30px;transform:translateY(30px)}.hamburger-menu{left:20px;width:35px;height:35px}.hamburger-line{width:25px}.nav-menu{width:250px;top:70px;height:calc(100vh - 70px)}.nav-menu a{font-size:1rem;padding:18px 25px}.footer-content{grid-template-columns:1fr;gap:30px}.footer-contact-wrapper{grid-template-columns:1fr;gap:40px}.map-container{height:300px}.footer-contact-section{padding:40px 5%}}@media (max-width:640px){.footer-contact-section{padding:30px 5%}.footer-contact-wrapper{gap:25px}.map-container{height:250px}.footer-form h4,.footer-map h4{font-size:1.5rem;margin-bottom:1.5rem}.contact-form-footer input,.contact-form-footer textarea{padding:12px;font-size:.95rem}.contact-form-footer textarea{min-height:100px}.contact-form-footer .submit-btn{padding:12px 30px;font-size:.9rem}}@media (max-width:480px){.nav-menu{width:80%;max-width:280px}.footer{padding:40px 5% 20px}.footer-content{gap:20px;margin-bottom:40px}.footer-brand h3,.footer-form h4,.footer-map h4,.footer-section h4{font-size:1.3rem;margin-bottom:1rem}.footer-contact-section{padding:20px 5%}.footer-contact-wrapper{gap:20px}.map-container{height:200px}.footer-bottom{padding-top:20px;margin-top:30px;font-size:.8rem}section{padding:50px 5%}h2{font-size:clamp(1.8rem, 4vw, 2.5rem)}}@media (max-width:375px){.nav-menu{width:75%;max-width:250px}.hamburger-menu{left:15px;width:32px;height:32px}.hamburger-line{width:22px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}a:focus,button:focus,input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.service-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:3000;display:none;opacity:0;transition:opacity .3s ease;overflow-y:auto;padding:20px}.service-modal.active{display:flex;opacity:1;align-items:center;justify-content:center}.service-modal-content{background:var(--white-off);max-width:500px;width:100%;max-height:85vh;border-radius:2px;position:relative;animation:modalSlideIn .3s ease;box-shadow:0 10px 40px rgba(0,0,0,.4);overflow:hidden;display:flex;flex-direction:column}@keyframes modalSlideIn{from{transform:translateY(-30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.service-modal-header{background:var(--black-primary);color:var(--white-pure);padding:18px 20px 15px;position:relative;flex-shrink:0}.service-modal-close{position:absolute;top:12px;right:12px;background:0 0;border:none;color:var(--white-pure);width:28px;height:28px;cursor:pointer;font-size:1.6rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:.7;line-height:1}.service-modal-close:hover{opacity:1;transform:rotate(90deg)}.service-modal-title{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:400;margin-bottom:.2rem;letter-spacing:.02em;padding-right:35px;line-height:1.2}.service-modal-price{font-size:1.3rem;color:var(--accent-gold);font-weight:600}.service-modal-body{padding:18px 20px 20px;overflow-y:auto;flex:1}.service-modal-description-short{font-size:1rem;color:var(--gray-dark);margin-bottom:15px;line-height:1.5}.service-modal-description-short strong{display:block;font-weight:600;color:var(--black-primary);margin-bottom:8px}.service-modal-description-long{color:var(--black-primary);line-height:1.6;font-size:.95rem}.service-modal-description-long h4{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--black-primary);margin-top:12px;margin-bottom:6px;font-weight:500;line-height:1.3}.service-modal-description-long h4:first-child{margin-top:0}.service-modal-description-long ul{margin-left:18px;margin-top:6px;margin-bottom:10px}.service-modal-description-long li{margin-bottom:4px;font-size:.95rem;line-height:1.5}.service-modal-description-long p{margin-bottom:8px;line-height:1.6}.service-card{cursor:pointer;transition:all .3s ease}.service-card:hover{transform:translateY(-5px)}@media (max-width:640px){.service-modal{padding:10px}.service-modal-content{max-width:100%;max-height:90vh;margin:0}.service-modal-header{padding:15px 15px 12px}.service-modal-body{padding:15px}.service-modal-title{font-size:1.6rem}.service-modal-price{font-size:1.15rem}.service-modal-description-short{font-size:.95rem;margin-bottom:12px}.service-modal-description-long{font-size:.9rem}.service-modal-description-long h4{font-size:1.15rem;margin-top:10px;margin-bottom:5px}.service-modal-description-long li{margin-bottom:3px;font-size:.9rem}.service-modal-description-long p{margin-bottom:6px}}@media (min-width:641px) and (max-width:968px){.service-modal-content{max-width:550px}}.gallery-btn-container{display:flex;justify-content:center;margin-top:60px}.gallery-btn{display:inline-flex;align-items:center;gap:12px;padding:18px 40px;background:0 0;color:var(--white-pure);border:1px solid var(--white-pure);font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .4s ease;position:relative;overflow:hidden}.gallery-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--white-pure);transition:left .4s ease;z-index:-1}.gallery-btn:hover{color:var(--black-primary)}.gallery-btn:hover::before{left:0}.gallery-btn svg{width:20px;height:20px;transition:transform .3s ease}.gallery-btn:hover svg{transform:translateX(5px)}.faq-accordion{display:flex;flex-direction:column;gap:8px}.faq-item{border:1px solid var(--gray-dark);border-radius:4px;background:0 0;overflow:hidden}.faq-button{width:100%;padding:14px 16px;background:var(--black-secondary);color:var(--white-pure);border:none;text-align:left;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.faq-button:hover{background:var(--gray-dark)}.faq-button[aria-expanded=true]{background:var(--gray-dark)}.faq-arrow{display:inline-block;transition:transform .3s ease;font-size:.7rem}.faq-button[aria-expanded=true] .faq-arrow{transform:rotate(180deg)}.faq-content{padding:12px 16px;background:rgba(255,255,255,.03);border-top:1px solid var(--gray-dark);color:var(--white-pure);max-height:500px;overflow:hidden;animation:slideDown .3s ease forwards}@keyframes slideDown{from{opacity:0;max-height:0;padding:0 16px}to{opacity:1;max-height:500px;padding:12px 16px}}.faq-wrapper{display:flex;flex-direction:column;gap:0}.faq-main-toggle{width:100%;padding:14px 16px;background:var(--black-secondary);color:var(--white-pure);border:1px solid var(--gray-dark);border-radius:4px 4px 0 0;text-align:left;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.faq-main-toggle:hover{background:var(--gray-dark)}.faq-main-toggle[aria-expanded=true]{background:var(--gray-dark);border-radius:4px 4px 0 0}.faq-main-arrow{display:inline-block;transition:transform .3s ease;font-size:.7rem}.faq-main-toggle[aria-expanded=true] .faq-main-arrow{transform:rotate(180deg)}.faq-accordion-container{border:1px solid var(--gray-dark);border-top:none;border-radius:0 0 4px 4px;background:rgba(255,255,255,.02);padding:8px 0}.faq-accordion-container .faq-accordion{gap:0}.faq-accordion-container .faq-item:first-child .faq-button{border-radius:0}.faq-accordion-container .faq-item:last-child .faq-button{border-radius:0}.faq-accordion-container .faq-item{border:none;border-bottom:1px solid var(--gray-dark);border-radius:0}.faq-accordion-container .faq-item:last-child{border-bottom:none}