:root{--brand-purple: #7d4d7b;--brand-green: #5f9b8b;--brand-green-light: #82b2a2;--brand-terracotta: #9c6d5f;--brand-beige: #bd9c8e;--brand-lavender: #f8f2f7;--primary: #231623;--primary-light: #3d243d;--accent: #7d4d7b;--accent-hover: #5f395d;--accent-soft: rgba(125, 77, 123, .12);--bg-light: #fff;--bg-dark: #140b14;--text-main: #231623;--text-muted: #5c4e5c;--white: #fff;--transition: all .5s cubic-bezier(.25, .1, .25, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text-main);background-color:var(--bg-light);font-family:Inter,sans-serif;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4{font-family:Outfit,sans-serif;font-weight:700;line-height:1.1}.container{max-width:1400px;margin:0 auto;padding:0 4rem}.section-padding{padding:120px 0}header{z-index:1000;width:100%;transition:var(--transition);padding:2rem 0;position:fixed;top:0}header.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;padding:1rem 0;box-shadow:0 10px 40px #0000000d}header.scrolled .logo-text,header.scrolled .nav-links a{color:var(--primary)}nav{justify-content:space-between;align-items:center;display:flex}.logo-text{letter-spacing:4px;color:var(--white);transition:var(--transition);font-size:1.8rem;font-weight:800;text-decoration:none}.nav-links{gap:2.5rem;list-style:none;display:flex}.nav-links a{color:var(--white);text-transform:uppercase;letter-spacing:1.5px;transition:var(--transition);font-size:.85rem;font-weight:600;text-decoration:none}.nav-links a:hover,.nav-links a.active{color:var(--accent)!important}.menu-toggle{cursor:pointer;z-index:1001;flex-direction:column;gap:6px;display:none}.menu-toggle span{background:var(--white);width:30px;height:2px;transition:var(--transition)}header.scrolled .menu-toggle span{background:var(--primary)}.hero{height:100vh;color:var(--white);text-align:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-bg{object-fit:cover;z-index:-1;filter:brightness(.4) contrast(1.1);width:100%;height:100%;position:absolute;top:0;left:0}.hero-overlay{background:radial-gradient(circle at center,transparent,var(--primary));z-index:-1;width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{width:100%;max-width:1000px;margin:0 auto}.hero h1{letter-spacing:-2px;margin-bottom:2rem;font-size:4.5rem}.hero h1 span{color:var(--accent)}.hero p{opacity:.9;margin-bottom:3.5rem;font-size:1.5rem;font-weight:300}.hero-btns{justify-content:center;gap:1.5rem;display:flex}.btn{text-transform:uppercase;letter-spacing:2px;transition:var(--transition);cursor:pointer;border-radius:0;padding:1.1rem 2.5rem;font-size:.9rem;font-weight:800;text-decoration:none;display:inline-block}.btn-primary{background-color:var(--accent);color:var(--primary)}.btn-primary:hover{background-color:var(--white);transform:translateY(-3px)}.btn-outline{border:2px solid var(--white);color:var(--white);background:transparent}.btn-outline:hover{background:var(--white);color:var(--primary)}.section-header{text-align:center;margin-bottom:5rem}.section-header h2{letter-spacing:-1px;margin-bottom:1.5rem;font-size:3rem}.line{background:var(--accent);width:60px;height:4px;margin:0 auto 2rem}.section-title-badge-container{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:2rem;width:100%}.section-title-line{height:1px;background:linear-gradient(90deg,#23162300,#23162333,#23162300);flex-grow:1;max-width:150px;transition:max-width .5s ease,background .5s ease}.bg-dark .section-title-line{background:linear-gradient(90deg,#fff0,#fff3,#fff0)}.section-title-badge{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--theme-color, rgba(35, 22, 35, .15));background:transparent;transition:all .5s ease}.bg-dark .section-title-badge{border-color:#ffffff26}.section-title-logo{width:24px;height:24px;background-color:var(--theme-color, var(--accent));-webkit-mask-image:url(/logo-leaf.svg);mask-image:url(/logo-leaf.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transition:all .5s ease}.badge-green{--theme-color: var(--brand-green);--theme-color-soft: rgba(95, 155, 139, .1)}.badge-gold{--theme-color: #b78a62;--theme-color-soft: rgba(183, 138, 98, .1)}.badge-terracotta{--theme-color: var(--brand-terracotta);--theme-color-soft: rgba(156, 109, 95, .1)}.badge-purple{--theme-color: var(--brand-purple);--theme-color-soft: rgba(125, 77, 123, .1)}.badge-plum{--theme-color: var(--primary-light);--theme-color-soft: rgba(61, 36, 61, .1)}.section-header:hover .section-title-line{max-width:250px}.section-header:hover .section-title-badge{background-color:var(--theme-color-soft);border-color:var(--theme-color);box-shadow:0 0 15px var(--theme-color-soft);transform:scale(1.05)}.section-header:hover .section-title-logo{transform:scale(1.05)}@media (max-width: 500px){.section-title-line{max-width:80px}.section-header:hover .section-title-line{max-width:120px}}.grid-3{grid-template-columns:repeat(3,1fr);gap:2.5rem;display:grid}.grid-2{grid-template-columns:repeat(2,1fr);gap:2.5rem;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:2rem;display:grid}.premium-card{position:relative;background:var(--white);transition:var(--transition);border-top:5px solid transparent;padding:3rem 2rem;box-shadow:0 20px 60px #0000000d}.premium-card:hover{border-top-color:var(--accent);transform:translateY(-10px)}#modelo .premium-card{display:flex;flex-direction:column}#modelo .premium-card>div:last-child{margin-top:auto}.bg-dark{background-color:var(--primary);color:var(--white)}.bg-dark .section-header h2{color:var(--white)}.reveal{opacity:0;transition:all .8s;transform:translateY(30px)}.reveal.active{opacity:1;transform:translateY(0)}@media (max-width: 1024px){.container{padding:0 2rem}.hero h1{font-size:3.5rem}.section-padding{padding:80px 0}.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.service-grid-2{grid-template-columns:1fr!important}}@media (max-width: 768px){.menu-toggle{display:flex}.nav-links{background:var(--primary);width:80%;height:100vh;transition:var(--transition);flex-direction:column;justify-content:center;align-items:center;position:fixed;top:0;right:-100%;box-shadow:-10px 0 30px #0000004d}.nav-links.active{right:0}.nav-links a{font-size:1.2rem;color:var(--white)!important}.hero h1{letter-spacing:-1px;font-size:2.5rem}.hero p{font-size:1.1rem}.hero-btns{flex-direction:column;padding:0 2rem}.section-header h2{font-size:2.2rem}.grid-3,.grid-4,.grid-2{grid-template-columns:1fr!important}.section-padding{padding:60px 0}.premium-card{padding:2.5rem 1.5rem}.contact-grid{grid-template-columns:1fr!important;gap:3rem!important}#contact-form{padding:2rem!important}.logo-text{font-size:1.4rem}.team-grid{grid-template-columns:1fr!important}}@media (max-width: 480px){.hero h1{font-size:2.2rem}.container{padding:0 1.5rem}}#equipo{background:linear-gradient(135deg,#f8f2f7,#fff,#edf4f2);position:relative;overflow:hidden;padding:120px 0}#equipo .container{position:relative;z-index:2;max-width:1400px}.equipo-tree-bg{position:absolute;top:55%;left:50%;transform:translate(-50%,-42%);z-index:1;width:580px;height:580px;opacity:.38;pointer-events:none;transition:all 1.2s cubic-bezier(.16,1,.3,1)}.bg-tree-img{width:100%;height:100%;object-fit:contain}#equipo:hover .equipo-tree-bg{opacity:.48;transform:translate(-50%,-42%) scale(1.04)}.team-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4rem 3.5rem!important;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid transparent;border-radius:24px;box-shadow:none;position:relative;z-index:2;transition:all .6s cubic-bezier(.16,1,.3,1)}.team-card:hover{transform:translateY(-8px);background:#fffffff0;border-color:#7d4d7b1f;box-shadow:0 30px 60px #7d4d7b0f,0 10px 20px #00000005;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.member-card-photo-wrapper{position:relative;width:170px;height:170px;margin-bottom:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.member-card-photo{width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid var(--accent);box-shadow:0 12px 32px #7d4d7b1f;transition:all .6s cubic-bezier(.16,1,.3,1);z-index:2}.member-card-photo-wrapper:after{content:"";position:absolute;top:-12px;left:-12px;right:-12px;bottom:-12px;border:1.5px dashed rgba(183,138,98,.4);border-radius:50%;pointer-events:none;transition:all .8s cubic-bezier(.16,1,.3,1);z-index:1}.team-card:hover .member-card-photo{border-color:#b78a62;transform:rotate(3deg) scale(1.02)}.team-card:hover .member-card-photo-wrapper:after{transform:rotate(45deg);border-color:#b78a62d9;border-style:solid}.team-member-name{font-family:Cinzel,serif;font-size:2.2rem;color:var(--primary);margin-bottom:.5rem;line-height:1.2;font-weight:700;letter-spacing:.02em}.team-member-role{font-family:Inter,sans-serif;font-size:.85rem;color:var(--accent);font-weight:800;letter-spacing:2px;margin-bottom:2rem}.team-member-bio{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:600;font-size:1.25rem;line-height:1.8;color:#000;margin-bottom:2.5rem;text-align:justify;text-justify:inter-word}.team-member-mission{font-family:Inter,sans-serif;font-size:.95rem;color:var(--primary);font-weight:600;padding:.8rem 1.5rem;background:#7d4d7b0a;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;width:100%;text-align:left;margin-top:auto}@media (max-width: 1024px){.team-card{padding:3rem 2rem!important}.team-member-name{font-size:1.9rem}.equipo-tree-bg{width:350px;height:350px;opacity:.1}}@media (max-width: 768px){#equipo{padding:80px 0}.member-card-photo-wrapper{width:140px;height:140px;margin-bottom:2rem}.team-member-bio{text-align:center}}.ecosystem-diagram-container{margin-top:7rem;position:relative;z-index:2}.ecosystem-diagram{position:relative;width:100%;max-width:1000px;height:600px;margin:0 auto}.ecosystem-connectors-svg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.connector-line{stroke:#b78a6259;stroke-width:2.5px;fill:none;stroke-dasharray:8 5;transition:all .6s cubic-bezier(.16,1,.3,1)}.ecosystem-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:330px;height:330px;border-radius:50%;z-index:5;box-shadow:0 30px 70px #0000001f;border:4px solid #b78a62;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:all .6s cubic-bezier(.16,1,.3,1)}.ecosystem-center-bg{position:absolute;top:0;left:0;width:100%;height:100%;background-size:100% 100%;background-position:center;background-repeat:no-repeat;border-radius:50%;filter:brightness(1.05) contrast(1.02);z-index:1;transition:all .8s cubic-bezier(.16,1,.3,1)}.ecosystem-center-content{position:relative;z-index:2;text-align:center;color:var(--primary);padding:2.2rem;background:#ffffff6b;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.eco-brand{font-family:Cinzel,serif;font-weight:700;font-size:2.1rem;letter-spacing:4px;margin-bottom:.8rem;color:var(--primary);text-shadow:0 1px 3px rgba(255,255,255,.95),0 0 8px rgba(255,255,255,.7)}.eco-desc{font-family:Inter,sans-serif;font-size:.82rem;line-height:1.6;font-weight:700;color:#1b0e1b;text-shadow:0 1px 3px rgba(255,255,255,.95),0 0 8px rgba(255,255,255,.7)}.ecosystem-node{position:absolute;width:320px;z-index:3;display:flex;align-items:center;gap:1.2rem;transition:all .5s cubic-bezier(.16,1,.3,1)}.node-icon-wrapper{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #ccc;box-shadow:0 10px 25px #0000000d;transition:all .5s cubic-bezier(.16,1,.3,1);flex-shrink:0}.node-icon-wrapper svg{width:26px;height:26px;transition:all .5s cubic-bezier(.16,1,.3,1)}.node-title{font-family:Inter,sans-serif;font-weight:700;font-size:1.05rem;color:var(--primary);line-height:1.4;transition:all .3s ease}.node-tl{top:100px;left:0}.node-tr{top:100px;right:0;flex-direction:row-reverse;text-align:right}.node-bl{top:420px;left:0}.node-br{top:420px;right:0;flex-direction:row-reverse;text-align:right}.icon-leaf{border-color:var(--brand-green);color:var(--brand-green);background:#5f9b8b0d}.icon-mountain{border-color:var(--brand-terracotta);color:var(--brand-terracotta);background:#9c6d5f0d}.icon-spiral{border-color:var(--brand-purple);color:var(--brand-purple);background:#7d4d7b0d}.icon-compass{border-color:#2c4c64;color:#2c4c64;background:#2c4c640d}.ecosystem-node:hover{transform:translateY(-4px)}.ecosystem-node:hover .node-icon-wrapper{transform:scale(1.1);box-shadow:0 15px 30px #00000014}.node-tl:hover .node-title{color:var(--brand-green)}.node-tr:hover .node-title{color:var(--brand-terracotta)}.node-bl:hover .node-title{color:var(--brand-purple)}.node-br:hover .node-title{color:#2c4c64}.ecosystem-diagram:has(.node-tl:hover) .line-tl{stroke:var(--brand-green);stroke-width:3.5px;stroke-dasharray:none}.ecosystem-diagram:has(.node-tr:hover) .line-tr{stroke:var(--brand-terracotta);stroke-width:3.5px;stroke-dasharray:none}.ecosystem-diagram:has(.node-bl:hover) .line-bl{stroke:var(--brand-purple);stroke-width:3.5px;stroke-dasharray:none}.ecosystem-diagram:has(.node-br:hover) .line-br{stroke:#2c4c64;stroke-width:3.5px;stroke-dasharray:none}.ecosystem-center:hover{transform:translate(-50%,-50%) scale(1.03);border-color:var(--accent);box-shadow:0 40px 90px #7d4d7b26}.ecosystem-center:hover .ecosystem-center-bg{transform:scale(1.08)}.ecosystem-footer{text-align:center;margin-top:5rem;padding:0 2rem}.ecosystem-slogan{font-family:Cinzel,serif;font-size:1.35rem;color:var(--primary);font-weight:700;letter-spacing:3px;margin-bottom:1.5rem}.ecosystem-summary{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:600;font-size:1.25rem;color:var(--text-muted);max-width:800px;margin:0 auto;line-height:1.7}@media (max-width: 900px){.ecosystem-diagram{height:auto;display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem 0}.ecosystem-connectors-svg{display:none}.ecosystem-center{position:relative;top:auto;left:auto;transform:none;margin:2rem 0;width:290px;height:290px}.ecosystem-center:hover{transform:scale(1.03)}.ecosystem-node{position:relative;top:auto;left:auto;right:auto;width:100%;max-width:480px;background:#fff9;border:1px solid rgba(0,0,0,.05);border-radius:16px;padding:1.2rem 1.5rem;box-shadow:0 10px 30px #00000003;flex-direction:row!important;text-align:left!important}.ecosystem-footer{margin-top:4rem}.ecosystem-slogan{font-size:1.15rem}}
