@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,500&family=Dancing+Script:wght@600;700&display=swap";:root{--primary:#1a6b3a;--primary-light:#2a8f50;--primary-dark:#124d2a;--accent:#f4845f;--accent-hover:#f06b42;--accent-soft:#f4845f1a;--success:#38c172;--whatsapp:#25d366;--bg:#f8faf8;--bg-card:#fff;--bg-elevated:#fff;--bg-hero-overlay-top:#0a140ca6;--bg-hero-overlay-mid:#0a140c4d;--bg-hero-overlay-bottom:#0a140cd9;--bg-dark-section:#0e1a12;--bg-glass:#ffffffd9;--bg-glass-header:#ffffffeb;--text:#1c2b20;--text-secondary:#5a6e5e;--text-muted:#8a9b8e;--text-on-dark:#fff;--text-on-dark-muted:#ffffffa6;--border:#1a6b3a14;--border-input:#0000001f;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 4px 24px #0000000f;--shadow-lg:0 12px 48px #1a6b3a1a;--shadow-card-hover:0 20px 60px #1a6b3a1f;--font-heading:"Playfair Display", serif;--font-body:"Inter", sans-serif;--font-accent:"Dancing Script", cursive;--ease:cubic-bezier(.25, .8, .25, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#0e1610;--bg-card:#162018;--bg-elevated:#1c2a1f;--bg-hero-overlay-top:#050a07b3;--bg-hero-overlay-mid:#050a0759;--bg-hero-overlay-bottom:#050a07e6;--bg-dark-section:#0a120c;--bg-glass:#0e1610e6;--bg-glass-header:#0e1610eb;--text:#e4ede6;--text-secondary:#9aad9e;--text-muted:#6b7e6f;--border:#ffffff0f;--border-input:#ffffff1f;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 24px #0000004d;--shadow-lg:0 12px 48px #0006;--shadow-card-hover:0 20px 60px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .4s var(--ease), color .4s var(--ease);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text);margin-bottom:0;font-weight:800}p{color:var(--text-secondary);line-height:1.65}img{max-width:100%;display:block}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 5%}.section-padding{padding:5.5rem 0}.btn-primary{background:var(--primary);color:#fff;font-weight:600;font-family:var(--font-heading);transition:all .3s var(--ease);cursor:pointer;letter-spacing:.03em;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.6rem;padding:.85rem 1.8rem;font-size:.9rem;text-decoration:none;display:inline-flex}.btn-primary:hover{background:var(--primary-light);transform:translateY(-2px);box-shadow:0 8px 25px #1a6b3a40}.h-hero{min-height:100dvh}.site-header{z-index:1000;transition:all .4s var(--ease);padding:1rem 0;position:fixed;top:0;left:0;right:0}.site-header.scrolled{background:var(--bg-glass-header);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-md);border-bottom:1px solid var(--border);padding:.6rem 0}.header-inner{justify-content:space-between;align-items:center;display:flex}.logo-link{color:var(--text-on-dark);align-items:center;gap:.6rem;text-decoration:none;display:flex}.site-header.scrolled .logo-link{color:var(--text)}.site-header.scrolled .leaf-logo path,.site-header.scrolled .leaf-logo circle{transition:all .4s}.logo-text{flex-direction:column;line-height:1.15;display:flex}.logo-name{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;font-size:1.2rem;font-weight:800}.logo-sub{font-family:var(--font-body);letter-spacing:.06em;opacity:.65;font-size:.6rem;font-weight:400}.theme-toggle{cursor:pointer;width:38px;height:38px;color:var(--text-on-dark);transition:all .3s var(--ease);background:#ffffff1a;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background:#ffffff2e;transform:rotate(20deg)}.site-header.scrolled .theme-toggle{background:var(--accent-soft);color:var(--accent);border-color:#0000}.site-header.scrolled .theme-toggle:hover{background:var(--accent);color:#fff}.desktop-nav{align-items:center;gap:.3rem;display:flex}.desktop-nav button{color:var(--text-on-dark);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.5rem .9rem;font-size:.88rem;font-weight:400;transition:all .3s}.desktop-nav button:hover{background:#ffffff1a}.site-header.scrolled .desktop-nav button{color:var(--text)}.site-header.scrolled .desktop-nav button:hover{background:var(--accent-soft);color:var(--accent)}.desktop-nav .nav-cta{background:var(--accent);color:#fff;border-radius:8px;margin-left:.3rem;padding:.5rem 1.2rem;font-weight:600}.desktop-nav .nav-cta:hover{background:var(--accent-hover);transform:translateY(-1px)}.site-header.scrolled .desktop-nav .nav-cta{color:#fff}@media (width<=768px){.desktop-nav{display:none}}.header-right-mobile{align-items:center;gap:.5rem;display:none}@media (width<=768px){.header-right-mobile{display:flex}}.hamburger{cursor:pointer;z-index:1100;background:0 0;border:none;flex-direction:column;gap:5px;width:36px;padding:8px;display:flex}.hamburger span{background:var(--text-on-dark);transform-origin:50%;border-radius:2px;width:100%;height:2px;transition:all .35s cubic-bezier(.77,0,.175,1);display:block}.site-header.scrolled .hamburger span{background:var(--text)}.hamburger.active span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.active span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hamburger.active span{background:var(--text-on-dark)!important}.mobile-menu{z-index:1050;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);opacity:0;pointer-events:none;background:#0a140cf7;flex-direction:column;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:fixed;inset:0}.mobile-menu.open{opacity:1;pointer-events:auto}.mobile-menu-nav{text-align:center;flex-direction:column;gap:.3rem;display:flex}.mobile-menu-nav button{color:var(--text-on-dark);font-family:var(--font-heading);cursor:pointer;background:0 0;border:none;padding:.7rem 2rem;font-size:1.8rem;font-weight:600;transition:color .3s}.mobile-menu-nav button:hover{color:var(--accent)}.mobile-menu-footer{text-align:center;position:absolute;bottom:3rem}.mobile-menu-footer a{color:var(--accent);font-size:1.1rem;font-weight:600;text-decoration:none}.mobile-menu-footer p{color:#ffffff73;margin-top:.3rem;font-size:.82rem}.hero-section{justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{object-fit:cover;object-position:center 40%;width:100%;height:100%;animation:25s ease-in-out infinite alternate heroZoom;transform:scale(1.05)}@keyframes heroZoom{0%{transform:scale(1.05)}to{transform:scale(1.12)}}.hero-overlay{background:linear-gradient(180deg, var(--bg-hero-overlay-top) 0%, var(--bg-hero-overlay-mid) 40%, var(--bg-hero-overlay-top) 70%, var(--bg-hero-overlay-bottom) 100%);position:absolute;inset:0}.hero-content{z-index:2;text-align:center;color:var(--text-on-dark);padding-top:6rem;position:relative}.hero-badge{color:#ffffffd9;letter-spacing:.08em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0f;border:1px solid #fff3;border-radius:100px;margin-bottom:1.5rem;padding:.5rem 1.2rem;font-size:.78rem;font-weight:500;display:inline-block}.hero-title{color:var(--text-on-dark);text-shadow:0 2px 30px #0006;margin-bottom:1.2rem;font-size:clamp(2.2rem,5.5vw,4.2rem);font-weight:800;line-height:1.12}.hero-title .highlight{font-family:var(--font-accent);background:linear-gradient(135deg, var(--accent), #ffb088);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding-right:.1em;font-size:1.3em;font-weight:700}.hero-subtitle{color:#ffffffc7;max-width:580px;margin:0 auto 2.5rem;font-size:clamp(1rem,2vw,1.2rem);font-weight:300;line-height:1.7}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.btn-lg{padding:1rem 2rem;font-size:1rem}.btn-accent{background:var(--accent)!important}.btn-accent:hover{background:var(--accent-hover)!important;box-shadow:0 8px 30px #f4845f59!important}.btn-outline-light{color:var(--text-on-dark);font-weight:500;font-family:var(--font-heading);transition:all .3s var(--ease);cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:8px;justify-content:center;align-items:center;padding:.85rem 1.8rem;font-size:.9rem;text-decoration:none;display:inline-flex}.btn-outline-light:hover{background:#ffffff1a;border-color:#ffffff80;transform:translateY(-2px)}.hero-scroll-indicator{z-index:2;cursor:pointer;color:#ffffff73;flex-direction:column;align-items:center;gap:.3rem;transition:color .3s;animation:2s ease-in-out infinite bounceDown;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.hero-scroll-indicator span{letter-spacing:.15em;text-transform:uppercase;font-size:.68rem}.hero-scroll-indicator:hover{color:var(--accent)}@keyframes bounceDown{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(8px)}}.animate-in{opacity:0;transition:opacity .6s var(--ease) var(--delay,0s), transform .6s var(--ease) var(--delay,0s);transform:translateY(25px)}.animate-in.visible{opacity:1;transform:translateY(0)}.section-header{text-align:center;margin-bottom:3rem}.section-tag{letter-spacing:.15em;text-transform:uppercase;color:var(--primary);background:#1a6b3a12;border-radius:100px;margin-bottom:.8rem;padding:.35rem 1rem;font-size:.75rem;font-weight:600;display:inline-block}[data-theme=dark] .section-tag{color:var(--success);background:#2a8f501f}.section-header h2{margin-bottom:.7rem;font-size:clamp(1.7rem,3.8vw,2.6rem);line-height:1.15}.section-desc{max-width:520px;margin:0 auto;font-size:1rem}.services-section{background:var(--bg)}.services-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.3rem;display:grid}.service-card{background:var(--bg-card);transition:all .4s var(--ease);box-shadow:var(--shadow-sm);border:1px solid var(--border);border-radius:14px;overflow:hidden}.service-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-6px)}.service-card-img{height:190px;position:relative;overflow:hidden}.service-card-img img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.service-card:hover .service-card-img img{transform:scale(1.06)}.service-card-icon{background:var(--bg-card);width:40px;height:40px;box-shadow:var(--shadow-md);border:1px solid var(--border);border-radius:10px;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:absolute;bottom:-18px;right:16px}.service-card-body{padding:1.6rem 1.4rem 1.3rem}.service-card-body h3{margin-bottom:.5rem;font-size:1.15rem}.service-card-body p{font-size:.9rem}.process-section{background:var(--bg-dark-section);position:relative;overflow:hidden}.process-section:before{content:"";background:radial-gradient(circle,#f4845f0d 0%,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;top:-30%;right:-15%}.process-section .section-header h2{color:var(--text-on-dark)}.process-section .section-desc{color:var(--text-on-dark-muted)}.light-tag{color:var(--accent)!important;background:#f4845f1a!important}.process-steps{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}@media (width<=768px){.process-steps{grid-template-columns:1fr}}.process-step{text-align:center;background:#ffffff0a;border:1px solid #ffffff12;border-radius:16px;padding:2.2rem 1.3rem;transition:all .3s;position:relative}.process-step:hover{background:#ffffff12;transform:translateY(-4px)}.step-number{font-family:var(--font-heading);color:#f4845f1f;font-size:2.8rem;font-weight:800;line-height:1;position:absolute;top:.8rem;left:1.2rem}.step-icon{margin-bottom:.8rem;font-size:2rem}.process-step h3{color:var(--text-on-dark);margin-bottom:.6rem;font-size:1.15rem}.process-step p{color:var(--text-on-dark-muted);font-size:.9rem;line-height:1.7}.portfolio-section{background:var(--bg)}.filter-bar{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-bottom:2rem;display:flex}.filter-btn{border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:100px;padding:.5rem 1.2rem;font-size:.83rem;font-weight:500;transition:all .3s}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:.8rem;display:grid}.portfolio-item{cursor:pointer;aspect-ratio:4/3;border-radius:12px;position:relative;overflow:hidden}.portfolio-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.portfolio-item:hover img{transform:scale(1.05)}.portfolio-overlay{background:#1a6b3a00;justify-content:center;align-items:center;transition:background .3s;display:flex;position:absolute;inset:0}.portfolio-item:hover .portfolio-overlay{background:#1a6b3a4d}.portfolio-zoom{opacity:0;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:all .3s;display:flex;transform:scale(.7)}.portfolio-item:hover .portfolio-zoom{opacity:1;transform:scale(1)}.lightbox{z-index:2000;cursor:zoom-out;background:#000000ed;justify-content:center;align-items:center;padding:2rem;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:8px;max-width:92vw;max-height:90vh;box-shadow:0 20px 80px #00000080}.lightbox-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.8rem;transition:background .3s;display:flex;position:absolute;top:1.5rem;right:2rem}.lightbox-close:hover{background:#ffffff1a}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.trust-strip{background:var(--primary);padding:3rem 0}.trust-inner{text-align:center;grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}@media (width<=600px){.trust-inner{grid-template-columns:repeat(2,1fr);gap:1.2rem}}.trust-stat{flex-direction:column;gap:.2rem;display:flex}.trust-num{font-family:var(--font-heading);color:#fff;font-size:2.3rem;font-weight:800}.trust-label{color:#ffffffb3;letter-spacing:.04em;font-size:.82rem}.contact-section{background:var(--bg)}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:3.5rem;display:grid}@media (width<=768px){.contact-grid{grid-template-columns:1fr;gap:2rem}}.contact-info .section-tag{margin-bottom:.8rem;display:inline-block}.contact-info h2{margin-bottom:.8rem;font-size:clamp(1.5rem,3.2vw,2.2rem)}.contact-info>p{margin-bottom:1.8rem;font-size:1rem;line-height:1.7}.contact-details{flex-direction:column;gap:1rem;display:flex}.contact-item{color:inherit;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;align-items:center;gap:.9rem;padding:.9rem;text-decoration:none;transition:all .3s;display:flex}.contact-item:hover{box-shadow:var(--shadow-md);transform:translate(4px)}.contact-icon{background:var(--accent-soft);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.3rem;display:flex}.contact-item div{flex-direction:column;display:flex}.contact-item strong{color:var(--text);font-size:.82rem;font-weight:600}.contact-item span{color:var(--text-secondary);font-size:.88rem}.contact-form{background:var(--bg-card);box-shadow:var(--shadow-md);border:1px solid var(--border);border-radius:16px;padding:2.2rem}.contact-form h3{margin-bottom:1.3rem;font-size:1.2rem}.form-group{margin-bottom:.9rem}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-input);width:100%;font-family:var(--font-body);color:var(--text);background:var(--bg);border-radius:10px;outline:none;padding:.85rem 1rem;font-size:.93rem;transition:all .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);background:var(--bg-card);box-shadow:0 0 0 3px #1a6b3a1a}.form-group textarea{resize:vertical;min-height:90px}.btn-full{justify-content:center;width:100%;margin-top:.3rem;padding:.9rem}.btn-whatsapp{gap:.6rem;background:var(--whatsapp)!important}.btn-whatsapp:hover{background:#20bd5a!important;box-shadow:0 8px 25px #25d3664d!important}.site-footer{background:var(--bg-dark-section);border-top:1px solid #ffffff0d;padding:2rem 0}.footer-inner{text-align:center;flex-direction:column;align-items:center;gap:1rem;display:flex}.footer-brand{color:var(--text-on-dark);align-items:center;gap:.6rem;display:flex}.footer-links{gap:1.8rem;display:flex}.footer-links a{color:#ffffff73;font-size:.82rem;text-decoration:none;transition:color .3s}.footer-links a:hover{color:var(--accent)}.footer-copy{color:#ffffff40;font-size:.75rem}.whatsapp-float{z-index:900;background:var(--whatsapp);border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;transition:all .3s;animation:2.5s ease-in-out infinite whatsappPulse;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 20px #25d36666}.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 30px #25d36680}@keyframes whatsappPulse{0%,to{box-shadow:0 4px 20px #25d36666}50%{box-shadow:0 4px 20px #25d36666,0 0 0 10px #25d36614}}.cookie-banner{z-index:1500;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);padding:1rem;animation:.5s slideUp;position:fixed;bottom:0;left:0;right:0}.cookie-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2rem;max-width:1100px;margin:0 auto;display:flex}.cookie-content p{margin:0;font-size:.85rem}.cookie-content a{color:var(--accent);text-decoration:underline}.cookie-actions{flex-shrink:0;gap:.5rem;display:flex}.btn-sm{padding:.45rem 1rem;font-size:.8rem}.btn-ghost{color:var(--text-muted);font-family:var(--font-heading);border:1px solid var(--border-input);cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:.45rem 1rem;font-size:.8rem;transition:all .3s;display:inline-flex}.btn-ghost:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (width<=480px){.hero-actions{flex-direction:column;align-items:stretch}.hero-badge{padding:.35rem .7rem;font-size:.62rem}.services-grid{grid-template-columns:1fr}.contact-form{padding:1.3rem}.cookie-content{text-align:center;flex-direction:column}.trust-num{font-size:1.8rem}}
