@import "https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap";:root{--primary-color:#0f2a17;--primary-medium:#235431;--primary-accent:#5c9a38;--secondary-color:#bfa15f;--text-dark:#1a251e;--text-light:#56685b;--bg-warm:#faf9f5;--white:#fff;--black:#000;--font-heading:"Playfair Display", Georgia, serif;--font-body:"Montserrat", sans-serif;--shadow-sm:0 2px 10px #0f2a170d;--shadow-md:0 8px 30px #0f2a1714;--shadow-lg:0 16px 40px #0f2a171f;--transition:all .35s cubic-bezier(.25, .8, .25, 1);--transition-fast:all .2s ease;--max-width:1200px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--bg-warm);color:var(--text-dark);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--primary-color);font-weight:700;line-height:1.25}a{color:inherit;transition:var(--transition-fast);text-decoration:none}ul{list-style:none}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 2rem}.section-padding{padding:6.5rem 0}.text-center{text-align:center}.section-title{margin-bottom:1rem;font-size:2.5rem;display:inline-block;position:relative}.section-title:after{content:"";background-color:var(--primary-accent);border-radius:2px;width:60px;height:3px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.section-subtitle{color:var(--text-light);max-width:600px;margin:1.5rem auto 4rem;font-size:1.1rem;font-weight:400}header{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;transition:var(--transition);background-color:#faf9f5e6;border-bottom:1px solid #0f2a170d;position:fixed;top:0;left:0}header.scrolled{background-color:var(--white);box-shadow:var(--shadow-sm);padding:.5rem 0}header .container{height:85px;transition:var(--transition);justify-content:space-between;align-items:center;display:flex}header.scrolled .container{height:70px}.logo-container{align-items:center;gap:.75rem;display:flex}.logo-container img{object-fit:contain;width:auto;height:60px;transition:var(--transition)}header.scrolled .logo-container img{height:50px}.logo-text{flex-direction:column;display:flex}.logo-text .brand-name{font-family:var(--font-heading);color:var(--primary-color);letter-spacing:1px;font-size:1.5rem;font-weight:700}.logo-text .brand-tagline{color:var(--primary-accent);letter-spacing:2px;text-transform:uppercase;font-size:.65rem;font-weight:600}nav{align-items:center;gap:2.5rem;display:flex}.nav-links{gap:2rem;display:flex}.nav-link{color:var(--primary-color);padding:.5rem 0;font-size:.95rem;font-weight:500;position:relative}.nav-link:after{content:"";background-color:var(--primary-accent);width:0;height:2px;transition:var(--transition);position:absolute;bottom:0;left:0}.nav-link:hover{color:var(--primary-accent)}.nav-link:hover:after{width:100%}.nav-cta{background-color:var(--primary-color);color:var(--white);box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid #0000;border-radius:50px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;display:flex}.nav-cta:hover{background-color:var(--primary-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.nav-cta svg{fill:currentColor;width:16px;height:16px}.menu-toggle{cursor:pointer;z-index:1001;background:0 0;border:none;padding:.5rem;display:none}.menu-toggle span{background-color:var(--primary-color);width:25px;height:2px;transition:var(--transition);margin:5px 0;display:block}.hero{background-color:var(--primary-color);align-items:center;height:100vh;min-height:650px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.hero-bg img{object-fit:cover;filter:brightness(.45)contrast(1.05);width:100%;height:100%}.hero .container{z-index:2;color:var(--white);grid-template-columns:1.2fr .8fr;align-items:center;gap:2rem;display:grid;position:relative}.hero-content{max-width:680px;animation:1s ease-out slideUp}.hero-badge{color:#b2ff88;letter-spacing:2px;text-transform:uppercase;margin-bottom:1rem;font-size:.9rem;font-weight:600;display:inline-block}.hero-content h1{color:var(--white);margin-bottom:1.5rem;font-size:3.8rem;font-weight:700;line-height:1.15}.hero-content h1 span{font-family:var(--font-body);color:var(--secondary-color);letter-spacing:4px;text-transform:uppercase;margin-top:.5rem;font-size:1.5rem;font-weight:400;display:block}.hero-content p{color:#ffffffe6;margin-bottom:2.5rem;font-size:1.2rem;font-weight:300}.hero-actions{flex-wrap:wrap;gap:1.25rem;display:flex}.btn{transition:var(--transition);cursor:pointer;border:none;border-radius:50px;justify-content:center;align-items:center;gap:.75rem;padding:1rem 2.25rem;font-size:1rem;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--primary-accent);color:var(--white)}.btn-primary:hover{background-color:#6da743;transform:translateY(-3px);box-shadow:0 10px 20px #5c9a384d}.btn-secondary{color:var(--white);background-color:#0000;border:2px solid #fff6}.btn-secondary:hover{border-color:var(--white);background-color:#ffffff1a;transform:translateY(-3px)}.services-grid{grid-template-columns:repeat(3,1fr);gap:2.5rem;display:grid}.service-card{background-color:var(--white);box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid #0f2a1708;border-radius:16px;flex-direction:column;padding:2.5rem 2rem;display:flex;position:relative;overflow:hidden}.service-card:before{content:"";background-color:var(--primary-accent);transform-origin:0;width:100%;height:4px;transition:var(--transition);position:absolute;top:0;left:0;transform:scaleX(0)}.service-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px)}.service-card:hover:before{transform:scaleX(1)}.service-icon-wrapper{width:70px;height:70px;color:var(--primary-accent);transition:var(--transition);background-color:#5c9a3814;border-radius:12px;justify-content:center;align-items:center;margin-bottom:2rem;display:flex}.service-card:hover .service-icon-wrapper{background-color:var(--primary-accent);color:var(--white);transform:rotate(5deg)scale(1.05)}.service-icon-wrapper svg{fill:currentColor;width:32px;height:32px}.service-card h3{color:var(--primary-color);margin-bottom:1rem;font-size:1.4rem;font-weight:600}.service-card p{color:var(--text-light);flex-grow:1;font-size:.95rem}.why-us{background-color:var(--primary-color);color:var(--white);position:relative;overflow:hidden}.why-us .section-title{color:var(--white)}.why-us .section-subtitle{color:#ffffffb3}.why-us-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:4rem;display:grid}.why-us-content{flex-direction:column;gap:2.25rem;display:flex}.why-us-item{gap:1.5rem;display:flex}.why-us-num{font-family:var(--font-heading);color:var(--secondary-color);font-size:2.2rem;font-weight:700;line-height:1;position:relative;top:-4px}.why-us-text h3{font-family:var(--font-body);color:var(--white);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.why-us-text p{color:#ffffffb3;font-size:.95rem}.why-us-image{box-shadow:var(--shadow-lg);border:1px solid #ffffff1a;border-radius:24px;position:relative;overflow:hidden}.why-us-image img{object-fit:cover;width:100%}.why-us-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background-color:#0f2a17e6;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;gap:.25rem;padding:1.5rem;display:flex;position:absolute;bottom:2rem;left:2rem;right:2rem}.why-us-badge span.accent{color:var(--secondary-color);font-size:1.5rem;font-family:var(--font-heading);font-weight:700}.why-us-badge span.subtext{color:var(--white);text-transform:uppercase;letter-spacing:1.5px;font-size:.85rem}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3.5rem;display:grid}.gallery-item{aspect-ratio:4/3;box-shadow:var(--shadow-sm);group:hover;cursor:pointer;border-radius:16px;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.25,.8,.25,1)}.gallery-overlay{opacity:0;width:100%;height:100%;transition:var(--transition);background:linear-gradient(#0000 30%,#0f2a17d9);flex-direction:column;justify-content:flex-end;padding:2rem;display:flex;position:absolute;top:0;left:0}.gallery-item:hover img{transform:scale(1.1)}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay h4{color:var(--white);font-size:1.25rem;font-family:var(--font-body);transition:var(--transition);margin-bottom:.25rem;font-weight:600;transform:translateY(15px)}.gallery-overlay p{color:var(--secondary-color);text-transform:uppercase;letter-spacing:1px;transition:var(--transition);font-size:.85rem;font-weight:600;transition-delay:50ms;transform:translateY(15px)}.gallery-item:hover h4,.gallery-item:hover p{transform:translateY(0)}.brochure-cta{box-shadow:var(--shadow-sm);background-color:#eceae3;border-radius:24px;grid-template-columns:1.2fr .8fr;align-items:center;gap:3rem;margin-bottom:2rem;padding:4rem 3.5rem;display:grid;position:relative;overflow:hidden}.brochure-cta-text h3{color:var(--primary-color);margin-bottom:1rem;font-size:2.2rem}.brochure-cta-text p{color:var(--text-light);max-width:600px;margin-bottom:2rem;font-size:1.05rem}.brochure-cta-image{box-shadow:var(--shadow-md);border:4px solid var(--white);transition:var(--transition);border-radius:12px;overflow:hidden;transform:rotate(2deg)}.brochure-cta-image:hover{transform:rotate(0)scale(1.03)}.contact-grid{grid-template-columns:.9fr 1.1fr;gap:4rem;display:grid}.contact-info{flex-direction:column;gap:2.5rem;display:flex}.contact-title h3{margin-bottom:1rem;font-size:2rem}.contact-title p{color:var(--text-light);font-size:1rem}.contact-details{flex-direction:column;gap:2rem;display:flex}.contact-item{align-items:flex-start;gap:1.25rem;display:flex}.contact-icon{width:50px;height:50px;color:var(--primary-accent);background-color:#5c9a3814;border-radius:100px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-icon svg{fill:currentColor;width:22px;height:22px}.contact-text h4{font-family:var(--font-body);color:var(--primary-color);margin-bottom:.25rem;font-size:1.05rem;font-weight:600}.contact-text p{color:var(--text-light);font-size:.95rem}.contact-text a{color:var(--primary-color);margin-top:.25rem;font-size:1.15rem;font-weight:600;display:block}.contact-text a:hover{color:var(--primary-accent)}.contact-buttons{flex-wrap:wrap;gap:1rem;margin-top:1rem;display:flex}.contact-buttons .btn{padding:.85rem 1.75rem;font-size:.95rem}.btn-whatsapp{color:var(--white);background-color:#25d366}.btn-whatsapp:hover{background-color:#20ba59;transform:translateY(-2px);box-shadow:0 8px 15px #25d36633}.btn-phone{background-color:var(--primary-color);color:var(--white)}.btn-phone:hover{background-color:var(--primary-medium);transform:translateY(-2px);box-shadow:0 8px 15px #0f2a1733}.contact-map{box-shadow:var(--shadow-md);border:1px solid #0f2a170d;border-radius:24px;height:100%;min-height:400px;overflow:hidden}.contact-map iframe{border:none;width:100%;height:100%;display:block}footer{color:#ffffffb3;border-top:2px solid var(--primary-accent);background-color:#0b1d10;padding:5rem 0 2.5rem;font-size:.9rem}.footer-grid{grid-template-columns:1.2fr .8fr 1fr;gap:4rem;margin-bottom:4rem;display:grid}.footer-info{flex-direction:column;gap:1.5rem;display:flex}.footer-logo-container{align-items:center;gap:.75rem;display:flex}.footer-logo-container img{object-fit:contain;width:auto;height:50px}.footer-logo-text .brand-name{font-family:var(--font-heading);color:var(--white);letter-spacing:1px;font-size:1.35rem;font-weight:700}.footer-logo-text .brand-tagline{color:var(--primary-accent);letter-spacing:2px;text-transform:uppercase;font-size:.6rem;font-weight:600}.footer-info p{color:#ffffffa6}.footer-links h4,.footer-services h4{color:var(--white);font-family:var(--font-body);margin-bottom:1.75rem;font-size:1.1rem;font-weight:600;position:relative}.footer-links h4:after,.footer-services h4:after{content:"";background-color:var(--primary-accent);width:30px;height:2px;position:absolute;bottom:-8px;left:0}.footer-links ul,.footer-services ul{flex-direction:column;gap:.85rem;display:flex}.footer-links a:hover,.footer-services li:hover{color:var(--primary-accent);transform:translate(3px)}.footer-services li{transition:var(--transition-fast);cursor:pointer}.footer-bottom{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding-top:2.5rem;display:flex}.footer-bottom p{color:#ffffff80;font-size:.85rem}.footer-bottom-links{color:#ffffff80;gap:2rem;font-size:.85rem;display:flex}.footer-bottom-links a:hover{color:var(--white)}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media (width<=1024px){.hero-content h1{font-size:3.2rem}.services-grid{grid-template-columns:repeat(2,1fr);gap:2rem}.why-us-grid{grid-template-columns:1fr;gap:3rem}.why-us-image{max-width:600px;margin:0 auto}.gallery-grid{grid-template-columns:repeat(2,1fr)}.brochure-cta{grid-template-columns:1fr;gap:2.5rem;padding:3rem}.brochure-cta-image{max-width:320px;margin:0 auto}.contact-grid{grid-template-columns:1fr;gap:3rem}}@media (width<=768px){header .container{height:70px}.menu-toggle{display:block}.nav-links-wrapper{background-color:var(--white);width:100%;height:calc(100vh - 70px);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:var(--transition);z-index:999;flex-direction:column;gap:2.5rem;padding:3rem 2rem;display:flex;position:fixed;top:70px;left:0;transform:translateY(-100%)}.nav-links-wrapper.active{opacity:1;pointer-events:all;transform:translateY(0)}nav{flex-direction:column;align-items:stretch;width:100%}.nav-links{flex-direction:column;gap:1.5rem}.nav-link{border-bottom:1px solid #0f2a170d;padding-bottom:.75rem;font-size:1.1rem}.nav-cta{justify-content:center;padding:1rem;font-size:1rem}.hero{padding-top:100px}.hero .container{grid-template-columns:1fr}.hero-content h1{font-size:2.5rem}.section-padding{padding:4.5rem 0}.section-title{font-size:2rem}.gallery-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:2.5rem}}@media (width<=576px){.services-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%}.brochure-cta{padding:2rem 1.5rem}.brochure-cta-text h3{font-size:1.8rem}.why-us-badge{border-radius:0;margin-top:-1rem;position:relative;bottom:0;left:0;right:0}}.subpage-title{color:var(--white);margin-bottom:.5rem;font-size:3.2rem;font-weight:700;animation:.8s ease-out slideUp}.subpage-subtitle{color:var(--secondary-color);text-transform:uppercase;letter-spacing:2px;margin-top:.5rem;font-size:1rem;font-weight:500;animation:.9s ease-out slideUp}.subpage-heading{color:var(--primary-color);margin-bottom:1.5rem;font-size:2.2rem}.subpage-lead{color:var(--text-light);margin-bottom:2rem;font-size:1.1rem}.subpage-card{background-color:var(--white);box-shadow:var(--shadow-sm);border:1px solid #0f2a1708;border-radius:16px;margin:3rem 0;padding:2.5rem 2rem}.subpage-card h3{font-family:var(--font-body);color:var(--primary-color);margin-bottom:1.25rem;font-size:1.3rem;font-weight:600}.subpage-card-list{flex-direction:column;gap:1.25rem;list-style-type:none;display:flex}.subpage-card-list li{align-items:flex-start;gap:1rem;display:flex}.subpage-card-list li span.check{color:var(--primary-accent);font-size:1.2rem;font-weight:700;line-height:1}.subpage-steps{flex-direction:column;gap:1.5rem;margin-bottom:3rem;padding-left:1.2rem;list-style-type:decimal;display:flex}.subpage-steps li{color:var(--text-light);font-size:1rem}.subpage-cta{background-color:var(--primary-color);color:var(--white);text-align:center;box-shadow:var(--shadow-md);border-radius:24px;margin-top:4.5rem;padding:3.5rem 2rem}.subpage-cta h3{color:var(--white);margin-bottom:1rem;font-size:1.8rem}.subpage-cta p{color:#fffc;margin-bottom:2rem}.subpage-cta-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}@media (width<=768px){.subpage-title{font-size:2.2rem}.subpage-subtitle{letter-spacing:1px;font-size:.85rem}.subpage-heading{font-size:1.75rem}.subpage-card{margin:2rem 0;padding:2rem 1.25rem}.subpage-cta{margin-top:3rem;padding:2.5rem 1.5rem}.subpage-cta h3{font-size:1.5rem}}@media (width<=480px){.container{padding:0 1.25rem}.hero-content h1{font-size:2.2rem}.hero-content h1 span{letter-spacing:2px;font-size:1rem}.hero-content p{font-size:.95rem}.subpage-title{font-size:1.8rem}.subpage-heading{font-size:1.5rem}.subpage-cta-buttons{flex-direction:column;width:100%}.subpage-cta-buttons .btn{width:100%}}.zoomable-image-wrapper{cursor:pointer;border-radius:20px;width:100%;max-width:1100px;margin:0 auto;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 15px 35px #0000001f}.zoomable-image-wrapper:hover{transform:translateY(-4px);box-shadow:0 25px 50px #0003}.zoomable-image-wrapper img{width:100%;transition:transform .4s;display:block}.zoomable-image-wrapper:hover img{transform:scale(1.02)}.zoom-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#b2ff88;background-color:#1e3d29d9;border-radius:50px;align-items:center;gap:8px;padding:.6rem 1.2rem;font-size:.85rem;font-weight:600;transition:background-color .3s,transform .3s;display:flex;position:absolute;bottom:20px;right:20px;box-shadow:0 4px 15px #0000004d}.zoomable-image-wrapper:hover .zoom-badge{background-color:var(--primary-accent);color:var(--white);transform:scale(1.05)}.lightbox-modal{z-index:99999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box;background-color:#0a140eed;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:none;position:fixed;top:0;left:0}.lightbox-modal.active{animation:.3s forwards fadeInModal;display:flex}.lightbox-content{object-fit:contain;border-radius:12px;max-width:95vw;max-height:90vh;animation:.35s cubic-bezier(.175,.885,.32,1.275) forwards zoomInModal;box-shadow:0 20px 60px #0009}.lightbox-close{color:var(--white);cursor:pointer;background-color:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:38px;font-weight:300;line-height:1;transition:background-color .3s,transform .3s;display:flex;position:absolute;top:25px;right:30px}.lightbox-close:hover{background-color:var(--primary-accent);color:var(--white);transform:rotate(90deg)}.lightbox-caption{color:#fffc;text-align:center;margin-top:15px;font-size:1rem;font-weight:500}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}@keyframes zoomInModal{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
